Kalkulator MTU & TCP MSS WireGuard VPN MikroTik
Setup WireGuard VPN Site-to-Site RouterOS v7 lengkap dengan pencegahan browsing macet melalui TCP MSS Clamping otomatis.
Parameter Input
Hasil Perhitungan
- linkType
- pppoe
- mtu
- 1480
- ipVersion
- ipv4
- ipHeaderBytes
- 20
- tcpHeaderBytes
- 20
- icmpHeaderBytes
- 8
- tcpMss
- 1440
- pingDfPayload
- 1452
- overheadBytes
- 20
- overheadDesc
- PPPoE Standar ISP Fiber / DSL (8–20 Byte Header)
- windowsPingCmd
- ping 1.1.1.1 -f -l 1452
- linuxPingCmd
- ping -M do -s 1452 1.1.1.1
- macosPingCmd
- ping -D -s 1452 1.1.1.1
- wanIface
- pppoe-out1
- wgPort
- 13231
- wgNet
- 10.200.200.1/24
- peerIp
- 10.200.200.2/32
- remoteLan
- 192.168.90.0/24
# ===================================================================== # InfraCalc.id - MikroTik RouterOS v7 MTU/TCP MSS Clamping & WireGuard VPN # Jenis Link: PPPOE | MTU Optimal: 1480 | TCP MSS: 1440 # ===================================================================== # 1. Perbaikan Website Sering Loading Lama / Gagal Buka di PPPoE & VPN (TCP MSS Clamping) /ip firewall mangle add action=change-mss chain=forward in-interface=pppoe-out1 new-mss=1440 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1441-65535 comment="Clamp TCP MSS Inbound (pppoe-out1 -> 1440)" add action=change-mss chain=forward out-interface=pppoe-out1 new-mss=1440 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1441-65535 comment="Clamp TCP MSS Outbound (pppoe-out1 -> 1440)" add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn comment="Auto Clamp PMTU All Tunnels" # 2. Setup Interface WireGuard VPN (RouterOS v7 Native) /interface wireguard add listen-port=13231 mtu=1420 name=wg-infracalc comment="WireGuard VPN Site-to-Site / Remote" /ip address add address=10.200.200.1/24 interface=wg-infracalc comment="IP Gateway Tunnel WireGuard" /interface wireguard peers # Ganti PUBLIC_KEY_CABANG dengan Public Key dari router cabang / client add allowed-address=10.200.200.2/32,192.168.90.0/24 interface=wg-infracalc public-key="ISI_PUBLIC_KEY_PEER_DISINI=" persistent-keepalive=25s comment="Peer Cabang / Remote Admin" /ip firewall filter add action=accept chain=input dst-port=13231 protocol=udp place-before=0 comment="Allow WireGuard Handshake UDP 13231" /ip route add dst-address=192.168.90.0/24 gateway=wg-infracalc comment="Route ke LAN Cabang via WireGuard" # Cara Test Fragmentasi Paket dari CMD Windows: ping 1.1.1.1 -f -l 1452
Cara Menggunakan Alat Ini
- Pilih jenis koneksi ISP WAN (PPPoE 1480, Ethernet 1500, atau LTE 1428) dan masukkan nama antarmuka WAN router Anda.
- Tentukan port listen UDP WireGuard (default 13231), IP gateway tunnel lokal, IP peer cabang, dan subnet LAN remote cabang.
- Tinjau script RouterOS v7 lengkap yang memuat aturan TCP MSS Clamping, pembuatan interface WireGuard, firewall handshake, dan routing cabang, lalu salin ke terminal.
Contoh Perhitungan Nyata: PPPoE Fiber WAN (MTU 1480 → WireGuard 1420)
Contoh terhitung: Link ISP WAN PPPOE (MTU 1480) dengan TCP MSS 1440. Menyiapkan WireGuard interface pada port UDP 13231 dengan IP 10.200.200.1/24, peer 10.200.200.2/32, dan rute ke LAN cabang 192.168.90.0/24 lengkap dengan MSS Clamping otomatis.
{
"linkType": "pppoe",
"wanIface": "pppoe-out1",
"wgPort": 13231,
"wgNet": "10.200.200.1/24",
"peerIp": "10.200.200.2/32",
"remoteLan": "192.168.90.0/24"
}- linkType:
- pppoe
- mtu:
- 1480
- ipVersion:
- ipv4
- ipHeaderBytes:
- 20
- tcpHeaderBytes:
- 20
- icmpHeaderBytes:
- 8
- tcpMss:
- 1440
- pingDfPayload:
- 1452
- overheadBytes:
- 20
- overheadDesc:
- PPPoE Standar ISP Fiber / DSL (8–20 Byte Header)
- windowsPingCmd:
- ping 1.1.1.1 -f -l 1452
- linuxPingCmd:
- ping -M do -s 1452 1.1.1.1
- macosPingCmd:
- ping -D -s 1452 1.1.1.1
- wanIface:
- pppoe-out1
- wgPort:
- 13231
- wgNet:
- 10.200.200.1/24
- peerIp:
- 10.200.200.2/32
- remoteLan:
- 192.168.90.0/24
Konsep Dasar & Catatan Teknis
Cara Perhitungan (Rumus & Langkah)
Rumus Matematika
- WireGuard Interface MTU = 1420 byte (1500 − 80 byte overhead)
- TCP MSS WAN = MTU_WAN − 40 byte (mis. 1480 − 40 = 1440 byte)
- Mangle Clamp MSS: /ip firewall mangle add action=change-mss chain=forward new-mss=tcpMss protocol=tcp tcp-flags=syn
- WireGuard Peer Handshake: /ip firewall filter add action=accept chain=input dst-port=wgPort protocol=udp
Langkah Substitusi
- Selected link preset: PPPOE → Interface MTU = 1480 bytes
- IPV4 protocol overhead: IP Header = 20 bytes, TCP Header = 20 bytes (Total = 40 bytes)
- Optimal TCP MSS = MTU (1480) − (20 + 20) = 1440 bytes
- Don't Fragment (DF) Ping Buffer Size = MTU (1480) − (20 + 8) = 1452 bytes
Pertanyaan yang Sering Diajukan (FAQ)
Mengapa nilai MTU WireGuard default di RouterOS v7 adalah 1420 byte?
Ethernet standar memiliki MTU 1500 byte. Enkapsulasi WireGuard membutuhkan 80 byte (20/40 byte IP, 8 byte UDP, 32 byte WireGuard header & Poly1305 MAC). 1500 − 80 = 1420 byte memastikan paket tidak pernah terfragmentasi bahkan saat melintasi jalur IPv6.
Apa perbedaan antara `new-mss=1440` spesifik dengan `new-mss=clamp-to-pmtu`?
Mengatur angka spesifik (misalnya 1440 pada PPPoE) menjamin nilai MSS pasti aman untuk antarmuka tersebut. Parameter `clamp-to-pmtu` secara otomatis membaca MTU dari antarmuka keluar router, menjadikannya cadangan ideal untuk banyak tunnel sekaligus.
Mengapa koneksi WireGuard butuh persistent-keepalive=25s?
Jika router cabang berada di belakang NAT atau CGNAT ISP, tabel koneksi NAT router penyedia akan menutup port setelah 30 detik tanpa trafik. Nilai keepalive 25 detik menjaga port UDP tetap terbuka agar kantor pusat bisa menghubungi cabang setiap saat.
Alat Kalkulator Terkait
Hitung ukuran MTU optimal, TCP MSS clamping (IPv4/IPv6), dan payload uji ping Don't Fragment untuk mengatasi website loading macet di PPPoE dan VPN.
Buka port server/NVR ke internet publik (DST-NAT) dan cegah koneksi loopback timeout dari dalam jaringan kantor menggunakan Hairpin NAT.
Prioritaskan panggilan suara WhatsApp, meeting Zoom/Teams, dan game online di atas unduhan bulk menggunakan Queue Tree FQ-CoDel RouterOS v7.
Referensi Standar & Catatan
- MikroTik Documentation — WireGuard Configuration (RouterOS v7)
- WireGuard Protocol Specification & Cryptographic Header Structure
Catatan: Hasil di atas merupakan estimasi berdasarkan rumus standar. Selalu verifikasi dengan dokumentasi resmi vendor dan kondisi lapangan sebelum implementasi pada lingkungan produksi.