Klientas praneša, kad tunelis prisijungia, ping atsako, prisijungimo puslapis įkeliamas, o tada perdavimas kiekvieną kartą sustingsta toje pačioje vietoje. Šis modelis jau daug ką pasako: pasiekiamumas veikia, o ilgalaikis pralaidumas ne. Prieš atidarydami užkardą išsiaiškinkite, ar VPN apskritai dalyvauja šiame gedime. Praleiskite didelį TCP per tą pačią šliuzą be tunelio kelyje; jei jis taip pat sustingsta, OpenVPN niekada nebuvo susijęs.

pfSense svečias su virtio tinklo kortele turi labai gerą priežastį žlugti būtent tokia forma.

Maži paketai praeina, didelis TCP stringa

Rankos paspaudimai, DNS atsakymai ir ICMP aidai yra maži ir paprastai praeina. Ilgalaikiai perdavimai verčia svečią segmentuoti, ir būtent ten išryškėja pažeistas offload kelias. Gedimas nebūtinai turi būti simetriškas: išeinantis srautas gali būti švarus, kol įeinantis prarandamas, arba atvirkščiai, todėl vartotojas gali prisijungti ir tada sustoti ties pirmuoju dideliu atsakymu. Kadangi tas pats klientas veikia per kitą šliuzą, kaltė tenka naujausiam komponentui.

Todėl išbandykite šliuzą be tunelio. Pakanka LAN į WAN atsisiuntimo, kuris būtų pakankamai didelis kelioms sekundėms, ir jis turi būti atliktas prieš bet kokį nustatymų keitimą, kad vėlesnis palyginimas ką nors reikštų.

Ką offload iš tikrųjų žada

virtio yra paravirtualus: pagrindinė mašina ir svečias dalijasi darbu, pagrindinė mašina skelbia kontrolinės sumos ir segmentavimo galimybes ir tikisi, kad svečias užbaigs tai, ką pradėjo. Jei svečio stekas to nedaro, kadrai išvyksta su nepilnomis kontrolinėmis sumomis arba pagrindinė mašina juos numeta. Emuliuojama E1000 siūlo paprastesnį ir lėtesnį modelį, kuriame problema išnyksta be vieno pfSense pakeitimo. Galimybių derėjimasis vyksta kiekvienam įrenginiui atskirai, o tai paaiškina, kodėl vienas svečias veikia mėnesius, o jo atkurtas dvynys žlunga pirmą dieną.

Suderintas rinkinys priklauso nuo hipervizoriaus versijos ir pasirinkto tinklo kortelės modelio, o ne tik nuo importuotos konfigūracijos.

Vienas žymimasis langelis išsaugo virtio

pfSense sąsajoje Sistema, tada Išplėstinė, tada Tinklas yra žymimasis langelis pavadinimu Išjungti techninės įrangos kontrolinės sumos offload. Jį pažymėjus svečias skaičiuoja kontrolines sumas programiškai, o tai atitinka tai, ko FreeBSD stekas už pfSense tikisi iš paravirtualaus įrenginio. Du susiję variantai tame pačiame puslapyje apima techninės įrangos TCP segmentavimo offload ir techninės įrangos didelio priėmimo offload. Kreipkitės į juos, kai rankos paspaudimai pavyksta, o dideli perdavimai ne.

Palikite tinklo kortelę kaip virtio, kol darote pakeitimą. Perėjimas prie E1000 degina procesorių kiekviename pakete visą VM gyvavimo laiką ir paslepia konfigūracijos problemą nuo kiekvieno, kuris paveldės pagrindinę mašiną, o tai yra blogesnis mainas nei šiek tiek lėtesnis, bet nuspėjamas duomenų kelias.

Išmatuokite ką tik priimtą kainą

Programinis kontrolinių sumų skaičiavimas perkelia darbą į svečią, todėl po to išmatuokite pralaidumą, o ne manykite, kad tai nieko nekainuoja. Mažoje VM bausmė yra reali, bet ji matoma ir stabili, skirtingai nei tyli netektis. Palyginkite sąsajos klaidų skaitiklius ir svečio branduolio žurnalą prieš ir po. Hipervizorius, filtruojantis tiltą, yra atskiras gedimas su kitais įrodymais, ir jokia offload vėliavėlė jo neišgydys.

Keiskite po vieną dalyką kiekviename bandyme ir užsirašykite meniu kelią, pažymėtą langelį ir išmatuotą skaičių. Kas susidurs su kitu atkurtu svečiu, norės visų trijų.

Kitos BSD pagrindu sukurtos užkardos siūlo lygiavertę kontrolę savo sąsajos nustatymuose, todėl samprotavimas galioja net kai meniu kelias ne.

Susiję straipsniai