Oba pristupa štite isti promet istim IPsec mehanizmom, a razlikuju se u tome što odlučuje koji paket ulazi u tunel. U vezi temeljenoj na pravilima taj posao rade dogovoreni selektori prometa; u onoj temeljenoj na rutama radi ga ruta koja pokazuje na sučelje tunela. Miješanje dvaju stvara poznatu temu u podršci u kojoj tunel javlja da je uspostavljen, a aplikacija ne dolazi ni do čega. Razlika je najvažnija kada dodajete mrežu, pokrećete protokol usmjeravanja ili tražite grešku na putu koji tiho izlazi na pogrešnom izlazu.

Dva načina da odlučite što ulazi u tunel

VPN temeljen na pravilima gradi sigurnosno pravilo koje odgovara izvornim i odredišnim prefiksima, a zatim šifrira sve što se uklopi. Druga strana mora dogovoriti kompatibilne selektore, pa djelotvorni opseg na kraju postaje presjek onoga što su obje strane predložile. Ništa izvan tog presjeka nije zaštićeno, što god govorila tablica usmjeravanja.

VPN temeljen na rutama stvara sučelje koje predstavlja tunel i pušta tablicu usmjeravanja da u njega šalje promet. IKE demon i dalje instalira stanje i pravilo po sučelju, a to je pojedinost koju ljudi preskaču kada zaključe da su rute zamijenile šifriranje. Oba pristupa šifriraju IPsec-om; razlikuje se samo mehanizam odabira.

Čitajte usporedbu u nastavku kao skup potpisa kvara, a ne kao tablicu rezultata, jer nijedan stupac ne pobjeđuje sam po sebi.

AspectPolicy-basedRoute-based
What selects trafficNegotiated selectorsA route into the tunnel interface
Adding a networkEdit selectors on both peersAdd a route, widen the selector once
Dynamic routingAwkward to run over the tunnelRuns over the interface directly
Typical failureTunnel up, host outside the selectorTunnel up, no route or wrong source

Temeljen na pravilima: selektor je ugovor

O selektorima se pregovara, ne samo da se konfiguriraju. Predložite 10.10.0.0/16 s jedne strane i 10.10.1.0/24 s druge, i asocijacija će pokriti ono na čemu su pregovori stali, dok svaki drugi host ostaje izvan.

Čitajte instalirano stanje umjesto konfiguracijske datoteke. Na Linux partneru vlastite tablice kernela osnovna su istina i pokazuju što je preživjelo pregovore. Pravilo koje imenuje ispravne prefikse bez odgovarajućeg stanja znači da se asocijacija nikada nije podigla. Stanje upareno s pravilom za pogrešan prefiks suprotan je problem i stvara tunel koji izgleda zdravo dok jedna podmreža ne može doći ni do čega.

sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas

Usporedite oba izlaza s prefiksima za koje mislite da ih štitite. Ta jedna usporedba rješava većinu prijava o tunelu koji radi s nedostupnim poslužiteljem. Također pokazuje koju stranu promijeniti, jer se nepodudarnost obično vidi samo u jednom smjeru.

Temeljen na rutama: sučelje je ugovor

XFRM sučelje daje tunelu ime i identitet, a promet do njega dolazi jer tablica usmjeravanja tako kaže. Nekoliko udaljenih prefiksa tada postaje problem usmjeravanja, a ne problem selektora, i protokol usmjeravanja može ih oglašavati. To je prava korist, a ne šifriranje.

Sučelje ne uklanja potrebu za pravilima. Demon instalira pravila po sučelju vezana uz identitet sučelja, pa paket koji stigne na pogrešno sučelje i dalje ne prolazi. Izvorna adresa koju druga strana neće prihvatiti također ne prolazi, čak i uz savršenu rutu. Temeljen na rutama znači da ruta odlučuje o ulazu, a ne da je pravilo nestalo.

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10

Pratite brojače sučelja nakon što ruta bude na mjestu. Ruta koja postoji dok brojači stoje na nuli znači da se ništa ne uklapa u tunel, što obično upućuje na stanje koje nedostaje, a ne na rutu koja nedostaje.

Gdje se ta dva pristupa stvarno razilaze

Dodavanje mreže najčišći je test koji vam model odgovara. Pristup temeljen na rutama dodaje rutu i najviše jednom proširuje selektor, dok pristup temeljen na pravilima uređuje parove prefiksa na obje strane i ponovno pregovara. Dvije stabilne podmreže čine tu izmjenu trivijalnom, a dvadeset je pretvaraju u projekt.

Nijedan model ne zamjenjuje vatrozid, i usporedbe se obično zaustavljaju prije te točke. Širok selektor ili široka ruta odlučuju što se šifrira, a ne što je dopušteno.

Ponašanje MTU-a također se razlikuje u praksi. Enkapsulacija smanjuje korisni teret, a sučelje temeljeno na rutama nosi vlastiti MTU, pa pričvršćivanje MSS-a na oba pristupnika izbjegava simptom crne rupe u kojem mali odgovori stižu, a veliki nestaju. Tuneli temeljeni na pravilima susreću isti zid s druge strane, jer selektor ne govori ništa o veličini paketa. Postavite pričvršćivanje namjerno umjesto da krivite drugu stranu.

Migracija bez gubitka povratne putanje

Zabilježite postojeće parove prefiksa prije nego što bilo što promijenite, zatim premjestite jednu putanju aplikacije i promatrajte je od početka do kraja. Tunel koji se uspostavi nije tunel koji prosljeđuje, a razlika se pojavljuje u smjeru odgovora.

Kada se strane povežu, ali hostovi LAN-a ne mogu, provjerite povratnu rutu i izvornu adresu koju će udaljeni host koristiti. Host s dva sučelja može odgovoriti s pogrešnog, i nikakva promjena selektora to ne popravlja. Snimite promet na oba kraja prije uređivanja algoritama.

ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns

Zadržite putanju upravljanja koja ne ovisi o tunelu dok radite. Vraćanje je lakše kada vlastiti pristup pristupnika ne ide preko veze koju otklanjate.

Povezani članci