Klient hlási, že tunel sa pripojí, ping odpovie, prihlasovacia stránka sa načíta a prenos sa potom pri každom pokuse zasekne v tom istom bode. Tento vzorec už veľa hovorí: dostupnosť funguje a trvalá priepustnosť nie. Pred otvorením firewallu zistite, či sa VPN na poruche vôbec podieľa. Pošlite veľké TCP cez tú istú bránu bez tunela v ceste; ak sa tiež zasekne, OpenVPN v tom nikdy nebol.

Host pfSense so sieťovou kartou virtio má veľmi dobrý dôvod zlyhať presne v tomto tvare.

Malé pakety prejdú, objemné TCP sa zasekne

Nadviazanie spojenia, odpovede DNS a ozveny ICMP sú malé a zvyčajne prejdú. Trvalé prenosy nútia hosta segmentovať a práve tam sa prejaví poškodená cesta offloadu. Porucha nemusí byť symetrická: odchádzajúca prevádzka môže byť čistá, kým prichádzajúca padá, alebo naopak, takže používateľ sa môže prihlásiť a potom sa zaseknúť na prvej veľkej odpovedi. Keďže ten istý klient funguje cez inú bránu, vina padá na najnovší komponent.

Preto otestujte bránu bez tunela. Stačí sťahovanie z LAN do WAN dosť veľké na to, aby bežalo niekoľko sekúnd, a musí sa vykonať pred akoukoľvek zmenou nastavení, aby nasledujúce porovnanie niečo znamenalo.

Čo offload skutočne sľubuje

virtio je paravirtualizované: hostiteľ a host zdieľajú prácu, hostiteľ inzeruje možnosti kontrolného súčtu a segmentácie a očakáva, že host dokončí, čo začal. Ak zásobník hosta to nerobí, rámce odchádzajú s neúplnými kontrolnými súčtami alebo ich hostiteľ zahodí. Emulovaná E1000 ponúka jednoduchší a pomalší model, v ktorom problém zmizne bez jedinej zmeny v pfSense. Vyjednávanie schopností prebieha pre každé zariadenie, čo vysvetľuje, prečo jeden host beží mesiace a jeho prestavaný dvojník zlyhá hneď prvý deň.

Vyjednaná sada závisí od verzie hypervízora a zvoleného modelu sieťovej karty, nielen od konfigurácie, ktorú ste importovali.

Jedno zaškrtávacie pole udrží virtio

V rozhraní pfSense obsahuje Systém, potom Rozšírené, potom Sieť zaškrtávacie pole Zakázať hardvérový offload kontrolného súčtu. Jeho zapnutím host počíta kontrolné súčty softvérovo, čo zodpovedá tomu, čo zásobník FreeBSD za pfSense očakáva od paravirtuálneho zariadenia. Dve súvisiace voľby na tej istej stránke pokrývajú hardvérový offload segmentácie TCP a hardvérový offload veľkého príjmu. Siahnite po nich, keď nadviazanie spojenia uspeje, ale objemné prenosy nie.

Nechajte sieťovú kartu ako virtio, kým vykonávate zmenu. Prechod na E1000 spaľuje CPU na každom pakete po celú dobu života VM a skrýva konfiguračný problém pred každým, kto hosta zdedí, čo je horší obchod než o niečo pomalšia, ale predvídateľná dátová cesta.

Zmerajte cenu, ktorú ste práve prijali

Softvérový výpočet kontrolných súčtov presúva prácu do hosta, preto potom zmerajte priepustnosť, namiesto toho, aby ste predpokladali, že nič nestojí. Na malej VM je penalizácia skutočná, ale je viditeľná a stabilná, na rozdiel od tichého výpadku. Porovnajte chybové počítadlá rozhrania a log jadra hosta pred a po. Hypervízor, ktorý filtruje most, je samostatná porucha s inými dôkazmi a žiadna offload vlajka ju nevylieči.

Meňte jednu vec na test a zapíšte cestu v menu, zaškrtnuté pole a číslo, ktoré ste zmerali. Kto bude čeliť ďalšiemu prestavanému hosťovi, bude chcieť všetky tri.

Iné firewally založené na BSD ponúkajú ekvivalentné ovládanie vo vlastnom nastavení rozhrania, takže úvaha platí, aj keď cesta v menu nie.

Súvisiace články