OpenVPN mssfix: büyük aktarımlarda bir istemci neden takılır
mssfix, tünelin içinde duyurulan TCP segment boyutunu yeniden yazar. UDP'yi yeniden boyutlandırmaz ve değer yalnızca sürümünüzün söylediği anlama gelir.
Tek bir dizüstü bilgisayar tünel üzerinden yüklemelerde takılırken aynı sunucudaki diğer tüm cihazlar çalışmaya devam eder. Bu örüntü sunucu yapılandırmasına değil tek bir yola işaret eder ve mssfix sorusuna alışılmış giriştir. Seçenek yardımcı olabilir, ancak yalnızca gerçekten yeniden yazdığı TCP bağlantıları için. Kapsamını bilmek, bir istemciyi kurtarmak için çalışan bir sunucuyu değiştirmenizi önler.
Seçenek neyi yeniden yazar
mssfix, tünelden geçen TCP el sıkışmalarında duyurulan en büyük segment boyutunu düzenler, böylece gönderen taraf kapsüllenmiş bütçeye sığan segmentleri seçer. El sıkışma üzerinde etkilidir; yani değişiklikten önce açılan bir bağlantı pazarlık edilen değeri korur.
UDP veri birimlerini küçültmez ve tünelin MTU'sunu ayarlamaz. İki farklı sorun aynı belirtiyi üretir: yol sınırını yok sayan bir TCP göndericisi ve her boyuttaki büyük paketleri sessizce düşüren bir yol. mssfix birincisini ele alır ve ikincisi için hiçbir şey yapmaz.
Bu ayrım hayal kırıklığı yaratan deneyleri açıklar. Kara delikli bir yolda daha küçük bir değer ayarlamak segment boyutunu değiştirir ama ardından gelen düşüşü değiştirmez, bu yüzden aktarım başka bir noktada başarısız olur.
Kapsam tünelin içindeki TCP'dir
Yalnızca TCP trafiği yeniden yazılır. Bir QUIC oturumu, oyun ya da büyük UDP veri birimleri gönderen bir uygulama kendi paket boyutlarını korur ve takılan aktarımlar bunlarsa, düzeltme daha çok tünel ya da yol MTU'suna aittir. Bir TCP seçeneğine uzanmadan önce başarısız aktarımın hangi protokolü kullandığını okuyun, çünkü yanlış katmanın kendi düzeltmesi vardır.
Yön de önemlidir. Bir istemci ayarı o istemcinin tünele gönderdiği trafiği etkiler, sunucu ise istemcilere doğru ilettiği akışları kapsar. Yalnızca gelen indirmeler takılıyorsa istemci tarafındaki değer hikâyenin tamamı değildir.
Sayı ve anahtar sözcük taşınabilir değildir
OpenVPN 2.6'nın topluluk sürümü değerden sonra isteğe bağlı bir anahtar sözcük kabul eder. mtu ile sayı, IP ve UDP başlıkları dahil dış paket boyutunu tanımlar; onsuz bağımsız değişken başka bir hesap kuralını izler. Bu nedenle sürümler arasında kopyalanan bir satır aynı paket bütçesini tanımlamaz. Başka bir sürüm için eğitim yerine gerçekten çalıştırdığınız derlemeyle gelen kılavuz sayfasına bakın.
Sözdizimi şöyle görünür:
mssfix 1400 mtu
1400'ü yolunuz için bir öneri değil, yer tutucu olarak görün. Değeri ölçülen yoldan ve gerçekte kullanılan kapsüllemeden türetin ve eski sürümlerdeki ya da başka uygulamalardaki istemcilerin anahtar sözcüğü reddedebileceğini veya farklı yorumlayabileceğini unutmayın.
Önce tek istemcide doğrulayın
Herhangi bir şeyi değiştirmeden önce sorunlu makineden yolu ölçün. Yolun parçalanma olmadan taşıyabildiği yük, aradığınız sayıdır:
ping -M do -s 1472 10.8.0.1
ping -M do -s 1400 10.8.0.1
İlk sınama, 28 baytlık başlıklar eklendiğinde 1500 baytlık pakete sığar. Parçalanma hatasıyla başarısız olur ve daha küçüğü başarılı olursa, kullanılabilir boyut ikisinin arasında bir yerdedir ve tünelin ek yükü üstten düşülür.
Ardından takılan aktarımı yeni bir bağlantıda yineleyin ve karşılaştırın. Tek istemci iyileşirken diğerleri etkilenmiyorsa sorunun kapsamını buldunuz. Tüm istemciler takılıyorsa gözden geçirilmesi gereken sunucu tarafındaki değerdir. İki sonuçtan hiçbiri, hiçbir zaman sorunlu yolda olmayan donanımda değişiklik yapılmasını haklı çıkarmaz.