Dva mobilna lokaliteta bez dolaznih portova: izgradite čvorište koje radi
Kada nijedan lokalitet ne prihvaća dolazne IPv4 veze, pustite oba da iniciraju prema dostupnom čvorištu. Provedite korake usmjeravanja, prosljeđivanja i rezervnog puta ovim redom.
Dva lokaliteta na mobilnim vezama imaju isti problem u oba smjera: nijedan ne može prihvatiti neželjenu IPv4 vezu, pa nijedan ne može igrati ulogu poslužitelja u izravnom tunelu. Arhitektura koja funkcionira stavlja dostupnu treću stranu u sredinu: svaki se lokalitet spaja prema van, a sredina prosljeđuje samo promet koji odobrite. Ta sredina može biti usmjerivač kojim sami upravljate ili proizvod koji upoznaje partnere, i to nije isto. Koraci ispod poredani su tako da svaki daje dokaz prije nego sljedeći o njemu ovisi.
Nijednom lokalitetu se ne može pristupiti, pa oba moraju zvati prema van
Potvrdite ograničenje prije nego što projektirate oko njega. Ako operater dodijeli WAN sučelju privatnu adresu, nijedno prosljeđivanje porta na vlastitom usmjerivaču lokaliteta neće ga učiniti dostupnim, jer se prevođenje događa uzvodno. Javna IPv6 adresa može postojati na istoj vezi i potpuno promijeniti dizajn, zato provjera pokriva obje obitelji. Zapišite odgovor za svaki lokalitet, jer dva rijetko imaju identična ograničenja čak i kada dijele operatera.
Uobičajen mobilni slučaj izgleda kao adresa iz operaterovog prevedenog raspona s podrazumijevanim 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 prije nego što se lokalitet prvi javi.
Dvije naredbe odgovaraju na pitanje adresiranja za lokalitet pred kojim stojite. Pokrenite ih na usmjerivaču lokaliteta, ne na prijenosniku iza njega:
ip -4 addr show scope global
ip -6 addr show scope globalTko upoznaje partnere i tko nosi pakete
Upoznavanje i prijenos odvojeni su poslovi koje proizvodi često spajaju ne pokazujući granicu. Mehanizam susreta pomaže dvama partnerima pronaći kandidatski put; relej nosi njihove pakete kada izravnog puta nema. Kupnja usluge koja upoznaje partnere ne daje vam usmjerivač, a ta razlika odlučuje treba li dizajnu čvorište uopće.
Probijanje ima svoj rječnik, a riječi opisuju uloge, ne jamstva. ICE specifikacija opisuje kandidate i provjere povezanosti, STUN opisuje jedan način da saznate o prevođenju adresa, a TURN opisuje preneseni prijenos za aplikacije koje ga implementiraju. Nijedan od tih mehanizama ne postoji u uobičajenom pristupniku jer ste ga usmjerili na adresu za otkrivanje. Provjerite 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, zaseban LAN prefiks iza svakoga i ruta za svaki prefiks koja imenuje vlasnika. U primjeru je čvorište 10.61.0.1, lokalitet A je 10.61.0.11 s LAN-om 10.60.10.0/24, a lokalitet B je 10.61.0.12 s LAN-om 10.60.20.0/24. Svaka ruta ispod pokazuje na partnera koji posjeduje prefiks, a ne na sučelje 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.77Prosljeđivanje mora biti omogućeno, inače se paketi zaustavljaju na čvorištu bez pogreške koja pokazuje uzrok. Posljednja naredba odgovara na pravo pitanje, jer pita kojim bi putem paket išao s LAN-a lokaliteta A na LAN lokaliteta B s izvorom uključenim u pretragu. Pretragu koja imenuje sučelje tunela smatrajte dokazom, a onu koja pada na podrazumijevanu rutu nedostajućom rutom, ne misterijom. Zatim namjerno ograničite tranzit, jer čvorište koje prosljeđuje između svakog partnera pretvara dva lokaliteta u ravnu mrežu i politika pristupa koju ste mislili da imate prestaje vrijediti.
Odredite i gdje enkripcija završava. Kada čvorište drži oba završetka tunela, operater tog stroja i njegovo radno opterećenje ulaze u model povjerenja i dostupnosti, a njegova propusnost postaje dio puta.
Održavajte svako mapiranje živim kroz operatera
Svaki lokalitet pokreće vlastiti tunel i svaki mora održavati mapiranje prevođenja živim, inače ga operater zaboravi. Poruka održavanja na strani koja inicira čuva to mapiranje između rukovanja. Ograničite dopuštene prefikse na adresu čvorišta i udaljeni LAN, da kompromitirani partner ne može tražiti prefiks koji ne posjeduje:
[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 s njegovim udaljenim prefiksom i oduprite se porivu da dopustite cijeli raspon tunela. Rukovanje koje stane i nastavi s novog izvornog porta potpis je isteklog mapiranja, a vremenske oznake rukovanja dokaz su da se to dogodilo. Interval kraći od operaterovog isteka sprječava istek umjesto da ga kasnije popravlja. Kada operater promijeni ponašanje prevođenja, očekujte da će se ta vremena promijeniti s njim.
Dokažite oba smjera, zatim dokažite oporavak
Provjera je usmjerena, pa ping od A do B dokazuje pola dizajna i ništa o povratnoj ruti. Provjerite put odgovora istom pretragom svjesnom izvora na čvorištu, zatim ponovite test s druge strane. Svježa rukovanja također 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 uspjeh koji želite. Restartajte vezu jednog lokaliteta i potvrdite da se tunel vraća bez toga da čovjek dira bilo koji kraj, jer dizajn kojem treba operater nakon svake promjene 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 dio vašeg modela dostupnosti, pa to zapišite umjesto da otkrivate tijekom prekida.