VDS, VPS veya kurumsal ağ geçitlerinde tünelleme protokollerinin bant genişliği doygunluğunu, çekirdek başı CPU tüketimini ve paket bölünmelerini (fragmentation) engelleyen en ideal MTU/MSS clamping yapılandırmasını belirleyin.
Hedef ağ geçidi trafiğini, donanım kripto desteğini ve MTU paket boyutunu yapılandırın.
Hedef 1.000 Mbps bant genişliği için WireGuard en verimli protokoldür. 2 çekirdek ile yalnızca %23.5 CPU tüketerek tam hat hızına ulaşır; MTU=1420 ve MSS=1380 ayarıyla paket parçalanmasını (fragmentation) sıfırlar.
# /etc/wireguard/wg0.conf (HostBilgim Optimize Edilmiş VPN Ağ Geçidi)
[Interface]
Address = 10.10.0.1/24, fd42:42:42::1/64
ListenPort = 51820
PrivateKey = <SUNUCU_OZEL_ANAHTARI>
MTU = 1420
# NAT ve MSS Clamping Yönlendirme Kuralları
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostUp = iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t mangle -D FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# İstemci / Peer Tanımı
[Peer]
PublicKey = <ISTEMCI_ACIK_ANAHTARI>
AllowedIPs = 10.10.0.2/32, fd42:42:42::2/128
PersistentKeepalive = 25Geleneksel OpenVPN, paketleri işletim sistemi çekirdeğinden (kernel) kullanıcı alanına (user-space) taşımak için /dev/net/tun aygıtını kullanır. Bu mimari, her paket için context switch ve bellek kopyalama (copy overhead) oluşturarak modern 10G/100G bağlantılarda CPU darboğazına neden olur. OpenVPN 2.6 ile gelen DCO (Data Channel Offload) bu sorunu büyük ölçüde aşsa da yapılandırma karmaşıklığı devam etmektedir.
WireGuard ise baştan itibaren Linux çekirdeğinin (in-kernel) yerel bir parçası olarak tasarlanmıştır. 4.000 satırlık temiz kod tabanı, lock contention oluşturmayan kuyruk mimarisi ve sıfır bellek kopyalama prensibiyle çekirdek başına 2.000+ Mbps throughput seviyesine kolayca ulaşır.
Donanım hızlandırmalı x86 sunucularda AES-NI komut seti, IPsec (AES-GCM) protokolünü inanılmaz hızlara ulaştırır. Ancak AES-NI desteği bulunmayan düşük güçlü VPS veya ARM işlemcilerde ChaCha20-Poly1305 kullanan WireGuard, yazılımsal olarak çok daha yüksek işlem verimi sunar.
VPN tünellerinde en sık karşılaşılan hız düşüklüğü ve web sayfası yüklenmeme sorunu MTU uyuşmazlığı ve IP parçalanmasıdır (fragmentation). Tünel başlıkları (WireGuard için 80 bayt, OpenVPN için 85 bayt) eklendiğinde paket boyutu standart 1500 baytlık uplink MTU değerini aşarsa paketler parçalanır. Çözüm, doğru MTU (genellikle 1420) ve firewall seviyesinde TCP MSS Clamping (MSS = MTU - 40) uygulamaktır.