Klijent javlja da se tunel povezuje, ping odgovara, stranica za prijavu se učitava, a prijenos zatim zamrzne na istoj tački pri svakom pokušaju. Taj obrazac već mnogo govori: dostupnost radi, a trajna propusnost ne. Prije nego otvorite firewall, utvrdite da li VPN uopšte učestvuje u kvaru. Pošaljite veliki TCP kroz isti gateway 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 da padne 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 offload-a. Kvar ne mora biti simetričan: odlazni saobraćaj 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 gateway, krivica pada na najnoviju komponentu.

Zato testirajte gateway 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 kasnije poređenje nešto značilo.

Šta 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 stek 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 pfSense-u. 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 zavisi od verzije hipervizora i odabranog modela mrežne kartice, a ne samo od konfiguracije koju ste uvezli.

Jedan okvir zadržava virtio

U pfSense sučelju, Sistem 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 stek iza pfSense-a 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 pravite promjenu. Prelazak na E1000 sagorijeva CPU na svakom paketu cijeli životni vijek VM-a i skriva konfiguracijski problem od svakoga ko 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. Uporedite brojače grešaka sučelja i kernel log gosta prije i poslije. Hipervizor koji filtrira bridge 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 menija, okvir koji ste označili i broj koji ste izmjerili. Ko se suoči sa sljedećim obnovljenim gostom, tražit će sve tri.

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

Povezani članci