Donja podmreža naspram stolnog VPN-a: 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.
Jedna mašina, 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 mašinu lokalno. Lokalno pokrenute aplikacije izlaze lokalnim izlaznim putem. Uređaji iza radne stanice dolaze na Ethernet port i trebaju odluku o prosljeđivanju. Izuzeće napisano 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 rutera koja slučajno živi na istoj mašini. Spajanje njih u jedan mentalni model je greška; dijele jezgro, ali ne politiku. Nacrtajte oba puta prije nego što uredite bilo koje pravilo, a ostatak dizajna slijedi iz toga koji put nedostaje.
Tabela također objašnjava zašto jedna mašina 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 oba, inače drugi ostaje neprovjeren koliko god se puta preglednik osvježio.
Šta izuzeće aplikacije zapravo klasificira
Izuzeće po aplikaciji obično radi tako što 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, dvije liste nisu ista lista, i to je cijela poenta. Mullvad Linux vodič opisuje oznake koje troše njegov firewall i politika usmjeravanja, a njegovi primjeri ciljaju lokalni izlaz; oni nisu podržani opis nizvodnog rutera. Njihovo kopiranje daje mašinu koja vjeruje da ima izuzeće dok sve prosljeđuje u tunel.
Napišite ugovor o tranzitu
Imenujte zajedno nizvodni izvorni prefiks i ulazni interfejs, 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šte koristiti ovaj uzlazni link i smiju li doseći radnu stanicu ili privatne raspone tunela? To su dodatne dozvole, a ne nuspojave izbora uzlaznog linka.
Dozvolite prosljeđivanje, pa ga filtrirajte. Linux gateway treba omogućeno prosljeđivanje, pravila koja dopuštaju namjeravani promet u oba smjera i ili uzvodnu povratnu rutu ili namjerno ograničenu translaciju izvora. Sam NAT ne bira uzlazni link i ne daje prolaz kroz filter; 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 tabela i prioriteti lanaca dio su politike VPN aplikacije, a ne vječne konstante. Trajna mreža koja zavisi od umetanja pravila u tabelu koju drugi program regeneriše 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 jednu mašinu i jednu politiku, po cijeni zavisnosti od životnog ciklusa tabela VPN aplikacije i od skupa oznaka koje njegova dokumentacija može promijeniti. Namjenski ruter za nizvodnu mrežu potpuno uklanja tu zavisnost: 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 niko ne može testirati integriranu politiku nakon svakog izdanja. Odaberite prvi samo kada je integracija dokumentirana i neko 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 izuzeće koje ste dizajnirali. Test treba dokazati preciznu granicu, ne samo da se jedna stranica učitala.