Klijent javlja da se tunel povezuje, ping odgovara, stranica za prijavu se učitava, a prijenos zatim zamrzne na istom mjestu pri svakom pokušaju. Taj obrazac već mnogo govori: dostupnost radi, a trajna propusnost ne. Prije nego otvorite vatrozid, utvrdite sudjeluje li VPN uopće u kvaru. Pošaljite velik TCP kroz isti pristupnik bez tunela na putu; ako se i on zamrzne, OpenVPN nikada nije bio uključen.

pfSense gost s virtio mrežnom karticom ima vrlo dobar razlog pasti upravo u tom obliku.

Mali paketi prolaze, obimni TCP se zaglavljuje

Rukovanja, DNS odgovori i ICMP odjeci su mali i obično prolaze. Trajni prijenosi prisiljavaju gosta na segmentiranje, a upravo se tu pojavljuje oštećeni put offloada. Kvar ne mora biti simetričan: odlazni promet može biti čist dok dolazni pada, ili obrnuto, pa se korisnik može prijaviti i zatim zaglaviti na prvom velikom odgovoru. Budući da isti klijent radi kroz drugi pristupnik, krivnja pada na najnoviju komponentu.

Zato testirajte pristupnik bez tunela. Preuzimanje s LAN-a na WAN dovoljno veliko da traje nekoliko sekundi je dovoljno, a mora se obaviti prije bilo kakve promjene postavki da bi kasnija usporedba nešto značila.

Što offload zapravo obećava

virtio je paravirtualan: host i gost dijele posao, host objavljuje mogućnosti kontrolne sume i segmentiranja i očekuje da gost završi ono što je započeo. Ako gostov stog to ne čini, okviri izlaze s nepotpunim kontrolnim sumama ili ih host odbacuje. Emulirani E1000 nudi jednostavniji i sporiji model u kojem problem nestaje bez ijedne promjene u pfSenseu. Pregovaranje o mogućnostima odvija se po uređaju, što objašnjava zašto jedan gost radi mjesecima a njegov obnovljeni blizanac padne prvog dana.

Pregovarani skup ovisi o verziji hipervizora i odabranom modelu mrežne kartice, a ne samo o konfiguraciji koju ste uvezli.

Jedan okvir zadržava virtio

U pfSense sučelju, Sustav pa Napredno pa Umrežavanje sadrži okvir pod nazivom Onemogući hardverski offload kontrolne sume. Njegovim označavanjem gost računa kontrolne sume u softveru, što odgovara onome što FreeBSD stog iza pfSensea očekuje od paravirtualnog uređaja. Dvije povezane opcije na istoj stranici pokrivaju hardverski TCP offload segmentiranja i hardverski offload velikog prijema. Posegnite za njima kada rukovanja uspiju a obimni prijenosi ne.

Ostavite mrežnu karticu kao virtio dok radite promjenu. Prelazak na E1000 sagorijeva CPU na svakom paketu cijeli životni vijek VM-a i skriva konfiguracijski problem od svakoga tko naslijedi host, što je lošija trgovina od nešto sporijeg ali predvidivog puta podataka.

Izmjerite cijenu koju ste upravo prihvatili

Softversko izračunavanje kontrolnih suma premješta posao u gosta, pa nakon toga izmjerite propusnost umjesto da pretpostavite da ništa ne košta. Na malom VM-u kazna je stvarna, ali je vidljiva i stabilna, za razliku od tihog gubitka. Usporedite brojače grešaka sučelja i kernel log gosta prije i poslije. Hipervizor koji filtrira most je zaseban kvar s drugačijim dokazima i nijedna offload zastavica ga neće izliječiti.

Mijenjajte jednu stvar po testu i zapišite putanju izbornika, okvir koji ste označili i broj koji ste izmjerili. Tko se suoči sa sljedećim obnovljenim gostom, tražit će sve tri.

Drugi vatrozidi zasnovani na BSD-u nude ekvivalentnu kontrolu u vlastitim postavkama sučelja, pa se zaključivanje prenosi i kada putanja izbornika ne.

Povezani članci