OpenVPN hlásí nekonzistentní MTU: co varování vlastně porovnává
Varování porovnává volby protější strany, ne velikosti paketů. Oddělte zastaralou hodnotu link-mtu od skutečného problému MTU na cestě a otestujte ho sondou, která respektuje velikost.
Toto varování oznamuje srovnání voleb protějších stran, nikoli měření cesty mezi nimi. Lidé ho čtou jako „MTU je špatně“ a mění číslo, dokud řádek nezmizí. Tím se srovnání konfigurace bere jako síťové měření a často se tunel zhorší, zatímco log ztichne. Užitečný první krok je rozhodnout, který z těch dvou problémů skutečně máte.
Odpověď určují tři podmínky: co strany porovnávají, zda je hodnota zastaralá a jaký příznak existuje kromě varování.
Varování porovnává volby, ne pakety
Protější strany OpenVPN si při navazování vyměňují řetězce voleb a porovnávají je v rámci kontroly konzistence voleb. Když jedna strana ohlásí link-mtu nebo tun-mtu jinak než druhá, nesoulad se zaznamená s oběma hodnotami. Při této výměně se nikdy neposílá velký paket, aby se zjistilo, co se stane, takže varování popisuje konfiguraci, ne kapacitu. Tunel může přenášet provoz plné velikosti a přesto to vypisovat, nebo selhávat u velkých paketů a nevypisovat nic.
Uchovejte celé varování s jeho místní a vzdálenou hodnotou. Dvojice je důkaz; jediné číslo, které si pamatujete, ne.
Proč je link-mtu zastaralá
OpenVPN 2.6 označuje link-mtu za zastaralou, protože proměnlivé hlavičky a vyjednané šifry činí pevnou hodnotu odkazu nespolehlivou. Volba předpokládala uspořádání paketu, které protokol už nezaručuje, takže starý profil s doslovným link-mtu popisuje záměr, který současný kód nemůže splnit. Kopírování tohoto čísla do nového profilu šíří zastaralý předpoklad. Čtěte ho jako součást historie starého profilu, ne jako doporučení.
Kontrola konzistence má také volitelnou hodnotu OCC vázanou na tun-mtu, která mění, co se porovnává, aniž by měnila, co síť přenáší. Její nastavení neumožní, aby se vešly větší pakety.
Opravte profil dřív, než budete testovat cestu
Nežádoucí nesoulad řešte přes toho, kdo profily vlastní, a pamatujte, že změna na straně serveru ovlivní každého klienta. Upravujte profil, který instance skutečně načítá, ne export ve složce stažených souborů. Potom znovu připojte jednoho testovacího klienta a poznamenejte, které varování zůstane. Pokud zpráva změní podobu místo toho, aby zmizela, porovnáváte jiné volby, než si myslíte.
Sdílený server potřebuje před přesunem globální hodnoty zkontrolovat inventář klientů, protože hodnota vhodná pro jedno místo může pokazit jiné.
Potom otestujte příznak, který skutečně máte
Pokud se velké přenosy zaseknou, zatímco malé požadavky procházejí, změřte velikost paketů proti řízenému cíli. Sonda, která nastaví bit „nefragmentovat“ a zvětší velikost užitečného zatížení, najde použitelné MTU cesty mnohem spolehlivěji než ping, který prostě uspěje. Zahrňte do testu i selhávající aplikaci: časový limit ICMP může odrážet filtrování a malý úspěšný ping nic neříká o paketu aplikace plné velikosti.
mssfix omezuje MSS inzerovanou pro relace TCP uvnitř tunelu, což pomáhá TCP a nedělá nic pro vnitřní zátěž UDP. Nastavení fragmentace a odlehčení mají své vlastní podmínky kompatibility. Zvolte mechanismus pro prokázaný problém, místo abyste jich několik měnili najednou, jen aby ztichl řádek v logu.
Uchovejte efektivní hodnoty s výsledkem
Zapište původní a opravené efektivní hodnoty vedle výsledku skutečného přenosu. Právě tato dvojice odděluje zastaralou volbu profilu od problému MTU na cestě, který existuje nezávisle. Bez ní další čtenář uvidí varování, které zmizelo, a bude předpokládat, že se síť změnila.
Potlačení kontroly konzistence nic nesrovná. Odstraní pozorování a obě konfigurace nechá tak, jak byly.