Pi VPN s više rutera: stavite svaku rutu na uređaj koji odlučuje
Nizvodni ruter dodaje drugu klijentsku podmrežu, a svaki od četiri uređaja posjeduje jednu odluku. Postavite rute, provjerite izvor, pa testirajte s pravog klijenta.
Stavljanje Wi-Fi kutije iza Pi pretvara jednu ruting odluku u četiri, a plan se lomi kada se sve četiri donesu na jednom uređaju. Prvo pitanje nije koju rutu dodati. Nego da li nova kutija mosti ili rutira, jer taj odgovor određuje koliko podmreža postoji i koji uređaji moraju naučiti o njima. Prvo izaberite model priključenja; svaka ruta slijedi iz njega.
Most ili ruta: izbor koji određuje broj
Most stavlja nove klijente na istu podmrežu koju Pi već opslužuje. Jedna podmreža, jedan DHCP autoritet i nikakvo prebacivanje na rutiranje. Ovo je jednostavniji raspored i pravi izbor kada odvojena klijentska mreža nikada nije bila zahtjev. Rutirana veza je drugačiji dizajn: kutija zadržava svoju podmrežu, a taj prefiks se mora nositi svuda kuda saobraćaj ide.
Ostatak ovog plana zadržava nizvodni ruter i čuva izvorne adrese klijenata. Cilj je jedna privatna VPN mreža, a ne pun izlaz na internet. Zapišite model prije adresa, jer je lista ispod samo primjer rutiranog priključenja.
client subnet 10.41.0.0/24
client gateway 10.41.0.1
router-to-Pi link 192.168.71.2
Pi on that link 192.168.71.1
private target 10.72.9.0/24
Ko šta odlučuje
| Decision owner | Entry that encodes the decision | Failure when the entry is missing |
|---|---|---|
| Pi VPN host | Return route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24 | Replies to downstream clients die at the Pi |
| Owner of the remote network | A path for 10.41.0.0/24 over the permitted tunnel | Replies stop at the first unaware hop |
| LAN router behind the Pi | Specific route for 10.72.9.0/24 via 192.168.71.1, or a suitable default | Clients never send private traffic to the Pi |
| Client machine | Default via 10.41.0.1, or a specific entry for 10.72.9.0/24 | The private network is unreachable from the client |
Svaki uređaj donosi jednu odluku i nijedan ne može donijeti tuđu umjesto njega. Pi treba dva unosa, a ne jedan, a povratni put je onaj koji ljudi zaboravljaju. Proslijeđeni saobraćaj ispravno stiže do privatne mreže i zatim umire na povratku, jer Pi nema pojma gdje živi 10.41.0.0/24. To izgleda kao problem vatrozida, a zapravo je ruta koja nedostaje.
Udaljena strana takođe treba svoju rutu. Ako usluga na dalekom kraju ne zna da je 10.41.0.0/24 dostupna kroz vaš tunel, odgovori se zaustavljaju na prvom skoku koji nema odgovor. Dodajte oba smjera prije nego što čitate filtere paketa.
Sljedeći skokovi dolaze iz priključenja
Sljedeći skok mora biti adresa na mreži do koje uređaj zaista može doći. Javna adresa VPN partnera nije sljedeći skok za privatnu podmrežu, a udaljena servisna mreža nije nikakav sljedeći skok. Ruta do nedostupnog gatewaya izgleda ispravno na listi i ispušta svaki paket. Provjerite odgovara li gateway prije nego što okrivite odredište.
Držite vanjskog VPN partnera Pi dostupnim kroz njegovu vlastitu underlay rutu. Taj unos je odvojen od ruta korisnog tereta, a njihovo miješanje daje tunel koji se ne može ponovo uspostaviti nakon promjene puta.
Dokumentacija statičkih ruta čini razliku između odredišta i gatewaya jasnom, iako svaka platforma drugačije imenuje svoje menije. Čitajte dokumentaciju za uređaj ispred sebe umjesto da kopirate ekran drugog proizvođača. Naredbe ispod pokazuju oblik unosa na Linuxu.
# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1
Šta prevođenje radi s izvorom
Ako nizvodni ruter već prevodi svoje klijente na tranzitnu adresu, Pi vidi jedan prevedeni izvor umjesto vlastite adrese svakog klijenta. To je drugačiji dizajn od gore opisanog koji čuva izvor. Mijenja politiku zasnovanu na izvoru, evidentiranje i to koja strana može pokrenuti veze. Oba dizajna rade; oni odgovaraju na različita pitanja.
Kada usluga VPN uzvodno odbije rutirati klijentski prefiks natrag, usko prevođenje na izlazu tunela Pi može biti legitimno privremeno rješenje. To nije dokaz da je ruta koja nedostaje bila nepotrebna. Zabilježite koju adresu udaljena mreža zaista vidi i kakav povratni put iz toga slijedi.
Odabir rute, dozvola za prosljeđivanje i prevođenje izvora ostaju tri odvojena posla. Ispiranje zajedničkog NAT lanca ili dopuštanje svakog interfejsa jer jedan žičani klijent radi jeste način na koji radna provjera postaje otvoreni prosljeđivač.
Dokažite to s klijentske mašine
Pošaljite zahtjev s mašine na nizvodnom LAN-u, pa pratite njegov izvor van i natrag. Ping koji izda Pi nikada ne vježba nizvodnu povratnu rutu, zato uspješan ping dokazuje manje nego što izgleda. Dodajte drugi test sa žičanog klijenta na vlastitom LAN-u Pi uređaja kako bi se dva puta mogla uporediti. Ponovite oba nakon ponovnog pokretanja bilo kojeg uređaja.
Rute dodane ručno i prevođenja koja nikada nisu sačuvana nestaju zajedno. Par tada izgleda kao nova greška, a ne kao nedovršen posao.
Sačuvajte model priključenja zajedno s rutama, dopuštenom privatnom uslugom i svakim prevođenjem u jednoj bilješci. Ta bilješka je ono što sprječava sljedeću osobu da bežični raspored tretira kao pitanje ruting politike.