Sljedeći skok u VPN ruti: zašto pristupnik mora biti lokalno dostupan
Adresa via u ruti mora biti dostupna na vezi s koje šaljete. Pratite predaju, provjerite pretraživanje i testirajte s računala koje posjeduje promet.
Ruta prema VPN mreži nosi dvije adrese koje je lako zamijeniti: prefiks odredišta kojem paket pokušava doći i sljedeći skok koji će ga pomaknuti korak bliže. Na LAN računalu taj sljedeći skok mora biti usmjerivač do kojeg doista možete doći na istoj vezi. Udaljena VPN adresa nije sljedeći skok, koliko god se uredno podudarala s odredištem koje imate na umu.
Ovaj priručnik pokriva uobičajen slučaj: prijenosno računalo na 192.168.20.0/24, VPN pristupnik s LAN adresom 192.168.20.5 i udaljena mreža 10.70.0.0/24 iza tog pristupnika. Sve naredbe u nastavku pretpostavljaju da ste na prijenosnom računalu, osim ako je drukčije navedeno.
Dvije adrese, jedna ruta
Namjeravani unos je 10.70.0.0/24 via 192.168.20.5. Prefiks kaže kamo paket ide; adresa via kaže tko ga tamo nosi. Jezgra odbija instalirati rutu čiji pristupnik ne može dosegnuti kroz sučelje koje navedete, i to je odbijanje cijela poanta: sljedeći skok kojem je tunel potreban da bi bio dostupan ne može biti sljedeći skok koji gradi tunel.
Zato prva provjera nije «radi li pristupnik» nego «je li pristupnik na ovoj vezi». Vlastita podmreža prijenosnog računala, njegov ARP ili zapis susjeda i sučelje u ruti moraju se podudarati. Adresa koja postoji samo unutar 10.70.0.0/24 može biti odredište druge rute, ali nikada via prve.
Na što sljedeći skok obvezuje pristupnik
Instalacija rute na prijenosnom računalu odlučuje samo prvu predaju. Pristupnik zatim treba vlastiti put: omogućeno prosljeđivanje, tunelsku rutu za 10.70.0.0/24 i svaku politiku pristupa koja uređuje tko je smije koristiti. Na Linuxu je to net.ipv4.ip_forward=1 plus tunelska ruta; vatrozid ispred njega treba pravilo koje dopušta proslijeđeni tok.
Povratni smjer je dio koji ljudi zaboravljaju. Udaljena strana mora imati rutu natrag prema 192.168.20.0/24, ili dizajn mora prevesti izvor prijenosnog računala u nešto što udaljena strana poznaje. Uspješan ping s pristupnika dokazuje da pristupnik može doći do udaljene mreže; ne govori ništa o tome preživljavaju li paketi prijenosnog računala povratni put.
Provjerite pretraživanje s računala koje šalje
Pitajte jezgru koji bi sljedeći skok odabrala i pročitajte sučelje u odgovoru:
ip route get 10.70.0.10
ip route show 10.70.0.0/24
ip neigh show 192.168.20.5
Ako pretraživanje prijavi pristupnik i LAN sučelje, prva dionica je konfigurirana kako je namjeravano. Ako prijavi tunelski uređaj, nešto ranije u tablici je specifičnije i pobjeđuje. Ako se ruta uopće ne instalira, jezgra vam govori da je pristupnik nedostupan, i ta je poruka korisnija od bilo kojeg hvatanja paketa.
Zatim ponovite test s pravog mjesta. Zahtjev stvoren na pristupniku koristi vlastitu izvornu adresu pristupnika, što može sakriti nedostajuću povratnu rutu ili politiku koja dopušta samo određene izvore. Priručnik za ip-route razdvaja odredište, pristupnik i nadjačavanje onlink, a nadjačavanje vrijedi razumjeti prije nego što ga upotrijebite.
Ne koristite onlink da biste glumili dostupnost
onlink govori jezgri da preskoči provjeru dostupnosti pristupnika i ipak pošalje prema njemu. On ne stvara put, ne razrješava ARP za adresu koje nema i ne tjera udaljeni usmjerivač da odgovori na vašem Ethernet segmentu. Legitiman je za pristupnike koji odgovaraju, ali ne sjede u povezanoj podmreži, a zamka je kad se rabi za utišavanje pogreške koju niste objasnili.
Ako se ruta instalira samo s onlink, sljedeće je pitanje zašto pristupnik nije tamo gdje mislite. Pogrešan VLAN, druga adresa na pogrešnom sučelju ili tipfeler u zadnjem oktetu sve to proizvode, a svaki od njih također lomi povratni put kad promet počne teći.
Točka-na-točku tuneli nisu Ethernet
Tunelski uređaj ne radi ARP i često nema smislenu podmrežu susjeda. Njegove rute često izgledaju kao 10.70.0.0/24 dev tun0, bez ikakvog via, jer je partner jedina druga krajnja točka. Kopiranje via u LAN stilu u tu tablicu stvara rutu koju jezgra može odbiti ili, još gore, onu koja pokazuje na adresu na koju partner nikad ne odgovara.
Držite dva modela odvojeno u priručniku: LAN ruta ima dostupan pristupnik, tunelska ruta ima sučelje i partnera. WireGuard, OpenVPN i IPsec svi izlažu malo različite oblike, pa zapišite oblik koji ste doista upotrijebili umjesto da generalizirate s jednog računala.
Dodajte, potvrdite, vratite
Cijela promjena je tri naredbe i jedna provjera, i treba je zapisati tim redom:
sudo ip route add 10.70.0.0/24 via 192.168.20.5
ip route get 10.70.0.10
ping -c 3 10.70.0.10
sudo ip route del 10.70.0.0/24 via 192.168.20.5
Potvrdite put, potvrdite jedno odredište, a zatim držite liniju za brisanje spremnom u slučaju da promjena učini računalo nedostupnim na način koji niste predvidjeli. Ako ruta mora preživjeti ponovno pokretanje, stavite je u mrežnu konfiguraciju računala, a ne u profil ljuske, i testirajte ponovno pokretanje prije nego se na nju oslonite. Ruta koja postoji samo u ljusci koja ju je dodala ruta je koju ćete dvaput otklanjati.