pfSense op Virtio: TCP stoeßt bis d’Offload ausgeschalt ass
E virtualiséierte pfSense beäntwert Pings a stoeßt dann op groussem TCP. Schalt de virtio-Checksum-Offload-Wee aus a miess d’Käschten amplaz d’Netzwierkkarte ze tauschen.
E Client mellt, datt den Tunnel sech verbënnt, e Ping äntwert, d’Login-Säit lued an den Transfer duerno bei all Versuch um selwechte Punkt agefréiert. Dëst Muster seet schonn eppes: d’Erreechbarkeet funktionéiert an den dauerhaften Duerchgang net. Ier Dir d’Firewall opmaacht, fannt eraus ob de VPN iwwerhaapt bei de Feeler bedeelegt ass. Schéckt groussen TCP duerch dee selwechte Gateway ouni Tunnel am Wee; wann en och agefréiert, war OpenVPN ni bedeelegt.
E pfSense-Gascht mat enger virtio-Netzwierkkarte huet e ganz gudde Grond genee an där Form ze scheiteren.
Kleng Päck kommen duerch, groussen TCP hänkt
Handshakes, DNS-Äntwerten an ICMP-Echoen si kleng a kommen normalerweis duerch. Dauerhaft Transfere forcéieren de Gascht ze segmentéieren, an do kënnt e beschiedegte Offload-Wee eraus. De Feeler muss net symmetresch sinn: ausgehend Verkéier kann propper sinn, während agehenden fällt, oder ëmgedréint, sou datt e Benotzer sech alogge kann an dann um éischten groussen Äntwert stoeßt. Well dee selwechte Client iwwer en anere Gateway funktionéiert, kritt déi néist Komponent d’Schold.
Test also de Gateway ouni den Tunnel. En Download vun LAN op WAN, dee grouss genuch ass fir e puer Sekonden ze lafen, ass duergaangen, an en muss virun all Astellungsännerung gemaach ginn, sou datt de Vergläich duerno eppes bedeit.
Wat Offload wierklech versprécht
virtio ass paravirtual: Host a Gascht deelen d’Aarbecht, den Host annoncéiert Checksum- a Segmentéierungsfäegkeeten an erwaart, datt de Gascht fäerdeg mécht wat en ugefaangen huet. Wann de Stack vum Gascht dat net mécht, verloossen d’Framen de Gascht mat onkompletten Checksumen oder ginn vum Host verkaaft. Eng emuléiert E1000 bitt en einfachere a luesen Modell, an deem de Problem verschwënnt ouni eng eenzeg Ännerung a pfSense. D’Fäegkeetsverhandlung geschitt pro Apparat, wat erkläert firwat ee Gascht Méint leeft an säin nei gebauten Zwilling um éischten Dag scheitert.
Den ausgehandelte Set hänkt vun der Hypervisor-Versioun an dem gewielten Netzwierkkarte-Modell of, net just vun der Konfiguratioun déi Dir importéiert hutt.
Eng Këscht hält virtio
An der pfSense-Interface enthält System, dann Erweidert, dann Netzwierk eng Këscht mam Numm Hardware-Checksum-Offload deaktivéieren. Wann se gesat ass, berechent de Gascht d’Checksumen a Software, wat dozou passt wat de FreeBSD-Stack hannert pfSense vun engem paravirtualen Apparat erwaart. Zwou verwandte Optiounen op der selwechter Säit decken den Hardware-TCP-Segmentéierungs-Offload an den Hardware-Groussempfangs-Offload of. Gräift do no, wann Handshakes geléngen awer grouss Transfere net.
Loos d’Netzwierkkarte virtio, während Dir d’Ännerung maacht. Op E1000 wiesselen verbrennt CPU op all Pak fir d’Liewensdauer vun der VM a verstoppt de Konfiguratiounsproblem virun jidderengem deen den Host ierft, wat en schlechten Tausch ass wéi e bësse luesen awer viraussagebare Datenwee.
Miess d’Käschten déi Dir just akzeptéiert hutt
Software-Checksummen verréckelen Aarbecht an de Gascht, also miess den Duerchgang duerno amplaz unzehuelen datt et näischt kascht. Op enger klenger VM ass d’Strof real, awer se ass sichtbar a stabil, am Géigesaz zu engem stille Verloscht. Vergläich d’Interface-Feelerzähler an de Kernel-Log vum Gascht virun a duerno. En Hypervisor dee Bridden filtert ass e getrennte Feeler mat aneren Beweiser, an et gëtt keng Offload-Flag déi e heelt.
Ännert eng Saach pro Test a schreift de Menüwee, d’Këscht déi Dir markéiert hutt an d’Zuel déi Dir gemooss hutt op. Wien den nächsten nei gebauten Gascht erlieft, wäert all dräi wëllen.
Aner BSD-baséiert Firewalle bidden eng equivalent Kontroll ënner hiren eegene Interface-Astellunge, sou datt d’Logik reest och wann de Menüweë et net mécht.