Dva mobilna lokaliteta bez dolaznih portova: napravite čvorište koje radi
Kada nijedan lokalitet ne prihvata dolazne IPv4 veze, pustite oba da iniciraju prema dostupnom čvorištu. Izvedite korake rutiranja, prosleđivanja i rezervnog puta ovim redom.
Dva lokaliteta na mobilnim vezama imaju isti problem u oba smera: nijedan ne može prihvatiti neželjenu IPv4 vezu, pa nijedan ne može igrati ulogu servera u direktnom tunelu. Arhitektura koja radi stavlja dostupnu treću stranu u sredinu: svaki lokalitet se povezuje prema spolja, a sredina prosleđuje samo saobraćaj koji odobrite. Ta sredina može biti ruter kojim sami upravljate ili proizvod koji upoznaje partnere, i to nije isto. Koraci ispod poređani su tako da svaki daje dokaz pre nego što sledeći od njega zavisi.
Nijednom lokalitetu se ne može prići, pa oba moraju da pozivaju prema spolja
Potvrdite ograničenje pre nego što projektujete oko njega. Ako operater dodeli WAN interfejsu privatnu adresu, nijedno prosleđivanje porta na vlastitom ruteru lokaliteta neće ga učiniti dostupnim, jer se prevođenje dešava uzvodno. Javna IPv6 adresa može postojati na istoj vezi i potpuno promeniti dizajn, zato provera pokriva obe familije. Zapišite odgovor za svaki lokalitet, jer dva retko imaju identična ograničenja čak i kada dele operatera.
Uobičajen mobilni slučaj izgleda kao adresa iz operaterovog prevedenog opsega sa podrazumevanim putem kroz nju. To nije kvar koji treba popraviti; to je razlog zbog kojeg čvorište postoji. Tražite bilo koju adresu do koje treća strana može doći pre nego što se lokalitet prvi javi.
Dve komande odgovaraju na pitanje adresiranja za lokalitet pred kojim stojite. Pokrenite ih na ruteru lokaliteta, ne na laptopu iza njega:
ip -4 addr show scope global
ip -6 addr show scope globalKo upoznaje partnere i ko nosi pakete
Upoznavanje i prenos su odvojeni poslovi koje proizvodi često spajaju ne pokazujući granicu. Mehanizam susreta pomaže dvama partnerima da nađu kandidatski put; relej nosi njihove pakete kada direktnog puta nema. Kupovina usluge koja upoznaje partnere ne daje vam ruter, a ta razlika odlučuje da li dizajnu treba čvorište uopšte.
Probijanje ima svoj rečnik, a reči opisuju uloge, ne garancije. ICE specifikacija opisuje kandidate i provere povezanosti, STUN opisuje jedan način da saznate o prevođenju adresa, a TURN opisuje preneseni prenos za aplikacije koje ga implementiraju. Nijedan od tih mehanizama ne postoji u uobičajenom pristupniku jer ste ga usmerili na adresu za otkrivanje. Proverite probijanje kao mogućnost proizvoda i pretpostavite relej dok test ne pokaže drugačije.
Jedna ruta po lokalitetu, u vlasništvu partnera
Čvorištu treba jedan tunel po lokalitetu, poseban LAN prefiks iza svakoga i ruta za svaki prefiks koja imenuje vlasnika. U primeru je čvorište 10.61.0.1, lokalitet A je 10.61.0.11 sa LAN-om 10.60.10.0/24, a lokalitet B je 10.61.0.12 sa LAN-om 10.60.20.0/24. Svaka ruta ispod pokazuje na partnera koji poseduje prefiks, a ne na interfejs tunela:
ip route add 10.60.10.0/24 via 10.61.0.11 dev wg0
ip route add 10.60.20.0/24 via 10.61.0.12 dev wg0
sysctl net.ipv4.ip_forward
ip route get 10.60.20.55 from 10.60.10.77Prosleđivanje mora biti omogućeno, inače se paketi zaustavljaju na čvorištu bez greške koja pokazuje uzrok. Poslednja komanda odgovara na pravo pitanje, jer pita kojim bi putem paket išao sa LAN-a lokaliteta A na LAN lokaliteta B sa izvorom uključenim u pretragu. Pretragu koja imenuje interfejs tunela smatrajte dokazom, a onu koja pada na podrazumevanu rutu nedostajućom rutom, ne misterijom. Zatim namerno ograničite tranzit, jer čvorište koje prosleđuje između svakog partnera pretvara dva lokaliteta u ravnu mrežu i politika pristupa koju ste mislili da imate prestaje da važi.
Odredite i gde enkripcija završava. Kada čvorište drži oba završetka tunela, operater tog uređaja i njegovo radno opterećenje ulaze u model poverenja i dostupnosti, a njegov propusni opseg postaje deo puta.
Održavajte svako mapiranje živim kroz operatera
Svaki lokalitet pokreće sopstveni tunel i svaki mora da održava mapiranje prevođenja živim, inače ga operater zaboravi. Poruka za održavanje na strani koja inicira čuva to mapiranje između rukovanja. Ograničite dozvoljene prefikse na adresu čvorišta i udaljeni LAN, da kompromitovani partner ne može da traži prefiks koji ne poseduje:
[Peer]
PublicKey = <hub public key>
Endpoint = 192.0.2.10:51820
AllowedIPs = 10.61.0.1/32, 10.60.20.0/24
PersistentKeepalive = 25Preslikajte blok na drugom lokalitetu sa njegovim udaljenim prefiksom i oduprite se porivu da dozvolite ceo opseg tunela. Rukovanje koje stane i nastavi sa novog izvornog porta potpis je isteklog mapiranja, a vremenske oznake rukovanja dokaz su da se to dogodilo. Interval kraći od operaterovog isteka sprečava istek umesto da ga kasnije popravlja. Kada operater promeni ponašanje prevođenja, očekujte da će se ta vremena promeniti sa njim.
Dokažite oba smera, zatim dokažite oporavak
Provera je usmerena, pa ping od A do B dokazuje pola dizajna i ništa o povratnoj ruti. Proverite put odgovora istom pretragom svesnom izvora na čvorištu, zatim ponovite test sa druge strane. Sveža rukovanja takođe pripadaju dokazima, jer tunel koji je mirovao sat vremena možda testira staro mapiranje:
wg show wg0 latest-handshakes
ping -c 3 10.60.20.55
traceroute -n 10.60.20.55Zatim testirajte kvar koji očekujete, a ne uspeh koji želite. Restartujte vezu jednog lokaliteta i potvrdite da se tunel vraća bez toga da čovek dira bilo koji kraj, jer dizajn kojem treba operater posle svake promene kod operatera nije dovršen. Zapišite primarni put, IPv6 alternativu kada postoji i ponašanje kada čvorište nije dostupno. Čvorište je sada deo vašeg modela dostupnosti, pa to zapišite umesto da otkrivate tokom prekida.