Donja podmreža nasuprot stolnom VPN-u: isključite tranzit, ne aplikacije
Zaobilaženje po aplikaciji klasificira samo lokalni izlaz. Uređajima iza radne stanice potrebna je vlastita politika ulaza, prosljeđivanja i povratnog puta.
Jedno računalo, dva posla, jedan firewall: Wi-Fi uzlazni link, mala Ethernet podmreža iza njega i stolni VPN klijent koji pretpostavlja da je sve što napusti računalo lokalno. Lokalno pokrenute aplikacije izlaze lokalnim izlaznim putem. Uređaji iza radne stanice dolaze na Ethernet port i trebaju odluku o prosljeđivanju. Iznimka napisana za prvi put nikada ne vidi drugi, i zato preglednik zaobilazi tunel, a uređaji ne.
Dva puta paketa, jedna politika
| Origin | Path | Decision owner |
|---|---|---|
| Application on the workstation | OUTPUT then egress | The VPN app's routing policy |
| Device behind the workstation | PREROUTING then FORWARD | The workstation's own forwarding policy |
Prvi red je ono što opisuje većina vodiča za split-tunneling. Drugi je konfiguracija usmjerivača koja slučajno živi na istom računalu. Spajanje njih u jedan mentalni model je pogreška; dijele jezgru, ali ne politiku. Nacrtajte oba puta prije nego što uredite bilo koje pravilo, a ostatak dizajna slijedi iz toga koji put nedostaje.
Tablica također objašnjava zašto jedno računalo može proći jedan test i pasti na drugom. Preglednik na radnoj stanici dokazuje lokalni put; prijenosnik uključen u Ethernet port dokazuje put prosljeđivanja. Provjerite promjenu s obama, inače drugi ostaje neprovjeren koliko god se puta preglednik osvježio.
Što iznimka aplikacije zapravo klasificira
Iznimka po aplikaciji obično radi tako da označava pakete iz procesa ili korisnika, a zatim usmjerava označeni promet izvan tunela. To je konstrukcija lokalnog izlaza. Paket s nizvodnog uređaja nema lokalni proces, pa nikada ne odgovara selektoru, kakav god selektor bio.
Kakav god selektor bio, dva popisa nisu isti popis, i u tome je cijela poanta. Mullvadov Linux vodič opisuje oznake koje troše njegov firewall i politika usmjeravanja, a njegovi primjeri ciljaju lokalni izlaz; oni nisu podržani opis nizvodnog usmjerivača. Njihovo kopiranje daje računalo koje vjeruje da ima iznimku dok sve prosljeđuje u tunel.
Napišite ugovor o tranzitu
Imenujte zajedno nizvodni izvorni prefiks i ulazno sučelje, pa ograničite taj prefiks na ulazu. Bez ograničenja svaki uređaj koji dosegne port može zatražiti izuzetu adresu i izaći kroz zaobilaženje. Tretirajte to kao dva pitanja: smiju li ti hostovi uopće koristiti ovaj uzlazni link i smiju li dosegnuti radnu stanicu ili privatne raspone tunela? To su dodatne dozvole, a ne nuspojave izbora uzlaznog linka.
Dopustite prosljeđivanje, pa ga filtrirajte. Linux gateway treba omogućeno prosljeđivanje, pravila koja dopuštaju namjeravani promet u oba smjera i ili uzlaznu povratnu rutu ili namjerno ograničenu translaciju izvora. Sam NAT ne bira uzlazni link i ne daje prolaz kroz filtar; on samo prepisuje adresu nakon tih odluka.
Klasifikacija za tranzit mora se dogoditi prije odluke o ruti prosljeđivanja, što znači u fazi prerouting, a ne output. Pravilo postavljeno nakon odluke još može promijeniti paket, ali ne može promijeniti kamo je paket već poslan.
Oznake pripadaju aplikaciji koja ih posjeduje
Vrijednosti oznaka, brojevi tablica i prioriteti lanaca dio su politike VPN aplikacije, a ne vječne konstante. Trajna mreža koja ovisi o umetanju pravila u tablicu koju drugi program regenerira pokvarit će se pri sljedećem ažuriranju, obično tijekom ponovnog povezivanja, a ne u zgodno vrijeme.
Dodavanje drugog osnovnog lanca s verdiktom accept ne nadjačava nužno drop kasnijeg lanca. Osnovni lanci imaju kuke i prioritete, a prvi verdikt u redoslijedu pobjeđuje; accept u jednom lancu ne poništava drop do kojeg drugi lanac stigne prvi. Gledajte kompletan skup pravila i red politike usmjeravanja, a ne jedan brojač koji se povećao. Brojač dokazuje da je pravilo izvršeno, nikada da je njegov verdikt primijenjen.
Integrirajte ili premjestite podmrežu
Dva dizajna razlikuju se po tome ko posjeduje zaobilaženje. Integrirani dizajn zadržava jedno računalo i jednu politiku, po cijeni ovisnosti o životnom ciklusu tablica VPN aplikacije i o skupu oznaka koje njegova dokumentacija može promijeniti. Namjenski usmjerivač za nizvodnu mrežu potpuno uklanja tu ovisnost: podmreža ima svoj uzlazni link, a radna stanica ostaje klijent bez uloge prosljeđivanja.
Odaberite drugi kada nizvodna mreža mora nastaviti raditi kroz VPN ažuriranja ili kada nitko ne može testirati integriranu politiku nakon svakog izdanja. Odaberite prvi samo kada je integracija dokumentirana i netko je posjeduje.
Provjerite granicu u četiri stanja: povezano, ponovno povezivanje, namjerno blokirano i zaustavljeno. Provjerite razrješavanje imena i obje porodice adresa pod svakim, jer zaobilaženje koje curi DNS nije iznimka koju ste dizajnirali. Test treba dokazati preciznu granicu, ne samo da se jedna stranica učitala.