Kaks mobiilsaiti ilma sissetulevate portideta: ehitage töötav keskjaam
Kui kumbki sait ei võta vastu sissetulevaid IPv4-ühendusi, las mõlemad algatada ühenduse kättesaadava keskjaamaga. Teostage marsruutimise, edastamise ja varuplaanisammud selles järjekorras.
Kaks mobiilse ühendusega saiti seisavad mõlemas suunas silmitsi sama probleemiga: kumbki ei saa vastu võtta soovimata IPv4-ühendust, seega ei saa kumbki otseühenduse tunnelis serveri rolli täita. Arhitektuur, mis töötab, asetab keskele kättesaadava kolmanda osapoole: kumbki sait helistab väljapoole ja keskkoht edastab ainult liiklust, mille te heaks kiidate. See keskkoht võib olla ruuter, mida te ise haldate, või toode, mis tutvustab võrdseid, ja need ei ole sama asi. Allpool olevad sammud on järjestatud nii, et igaüks annab tõendi enne, kui järgmine sellest sõltub.
Kumbagi saiti ei saa sisse helistada, seega peavad mõlemad välja helistama
Kinnitage piirang enne, kui selle ümber projekteerite. Kui operaator annab WAN-liidesele privaatse aadressi, ei tee ükski pordiedastus saidi enda ruuteril seda kättesaadavaks, sest tõlkimine toimub ülalpool. Samal ühendusel võib olla avalik IPv6-aadress ja see muudab kogu projekti, seepärast hõlmab kontroll mõlemat perekonda. Kirjutage vastus iga saidi kohta üles, sest kahel on harva identsed piirangud ka siis, kui nad jagavad operaatorit.
Tavaline mobiilijuhtum näeb välja nagu aadress operaatori tõlgitud vahemikust, mille kaudu läheb vaikimisi marsruut. See ei ole rike, mida parandada; see on põhjus, miks keskjaam olemas on. Te otsite mis tahes aadressi, kuhu kolmas osapool pääseb, ilma et sait ise esimesena räägiks.
Kaks käsku vastavad adresseerimisküsimusele saidi kohta, mille ees te seisate. Käivitage need saidi ruuteril, mitte selle taga oleval sülearvutil:
ip -4 addr show scope global
ip -6 addr show scope globalKes tutvustab võrdseid ja kes kannab pakette
Tutvustamine ja transport on eraldi tööd, mida tooted sageli koondavad piiri nähtavaks tegemata. Kohtumismehhanism aitab kahel võrdsel leida kandidaattee; relee kannab nende pakette, kui otsest teed ei ole. Võrdsete tutvustamist pakkuva teenuse ostmine ei anna teile ruuterit, ja see erinevus otsustab, kas projekt üldse keskjaama vajab.
Läbimurdel on oma sõnavara ja sõnad kirjeldavad rolle, mitte garantiisid. ICE spetsifikatsioon kirjeldab kandidaate ja ühenduvuskontrolle, STUN kirjeldab üht viisi aadressitõlke tundmaõppimiseks ja TURN kirjeldab relee kaudu edastatavat transporti rakendustele, mis seda rakendavad. Ükski neist mehhanismidest ei esine tavapärases lüüsis, sest te suunasite selle avastamisaadressile. Kontrollige läbimurret toote võimalusena ja eeldage releed, kuni test näitab vastupidist.
Üks marsruut saidi kohta, mille omanik on võrdne
Keskjaam vajab üht tunnelit saidi kohta, eraldi LAN-prefiksit igaühe taga ja marsruuti iga prefiksi jaoks, mis nimetab selle omaniku. Näites on keskjaam 10.61.0.1, sait A on 10.61.0.11 LAN-iga 10.60.10.0/24 ja sait B on 10.61.0.12 LAN-iga 10.60.20.0/24. Iga allolev marsruut osutab võrdsele, kellele prefiks kuulub, mitte tunneli liidesele:
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.77Edastamine peab olema lubatud, muidu peatuvad paketid keskjaamas ilma veata, mis osutaks põhjusele. Viimane käsk vastab tõelisele küsimusele, sest küsib, millise tee pakett võtaks saidi A LAN-ist saidi B LAN-i, kusjuures allikas on otsingusse kaasatud. Käsitle otsingut, mis nimetab tunneli liidest, tõendina ja otsingut, mis langeb tagasi vaikimisi marsruudile, puuduva marsruudina, mitte mõistatusena. Seejärel piirake läbipääsu teadlikult, sest keskjaam, mis edastab iga võrdse vahel, muudab kaks saiti lamedaks võrguks ja juurdepääsupoliitika, mille te arvasite olevat, lakkab kehtimast.
Otsustage ka, kus krüpteerimine lõpeb. Kui keskjaam hoiab mõlemat tunneli otsa, liituvad selle masina haldaja ja tema töökoormus usaldus- ja kättesaadavusmudeliga ning selle ribalaius saab tee osaks.
Hoidke iga vastendus operaatori kaudu elus
Iga sait algatab oma tunneli ja igaüks peab hoidma tõlkevastenduse elus, muidu operaator unustab selle. Algataval poolel olev hoiatusmeelekutse säilitab selle vastenduse käepigistuste vahel. Piirake lubatud prefiksid keskjaama aadressi ja kaughõimuga, et rikutud võrdne ei saaks nõuda prefiksit, mis talle ei kuulu:
[Peer]
PublicKey = <hub public key>
Endpoint = 192.0.2.10:51820
AllowedIPs = 10.61.0.1/32, 10.60.20.0/24
PersistentKeepalive = 25Peegeldage plokk teisel saidil selle enda kauge prefiksiga ja vastustage soovi lubada kogu tunneli vahemik. Käepigistus, mis peatub ja jätkub uuest lähtepordist, on aegunud vastenduse allkiri ja käepigistuse ajatemplid on tõend, et see juhtus. Operaatori ajapiirist lühem intervall ennetab aegumist, mitte ei paranda seda hiljem. Kui operaator muudab oma tõlkekäitumist, oodake, et need ajad muutuvad koos sellega.
Tõestage mõlemad suunad, seejärel tõestage taastumine
Kontrollimine on suunatud, seega ping A-st B-sse tõestab poole projektist ja mitte midagi tagasitee kohta. Kontrollige vastusteed sama allikateadliku otsinguga keskjaamas, seejärel korrake testi teiselt poolt. Värsked käepigistused kuuluvad samuti tõendite hulka, sest tund aega jõude olnud tunnel võib testida vana vastendust:
wg show wg0 latest-handshakes
ping -c 3 10.60.20.55
traceroute -n 10.60.20.55Seejärel testige ebaõnnestumist, mida ootate, mitte edu, mida soovite. Taaskäivitage ühe saidi ühendus ja kinnitage, et tunnel naaseb ilma, et inimene kummagi otsa puudutaks, sest projekt, mis vajab operaatori iga muudatuse järel operaatorit, on lõpetamata. Kirjutage üles peamine tee, IPv6 alternatiiv, kui see on olemas, ja käitumine, kui keskjaam ei ole saadaval. Keskjaam on nüüd teie kättesaadavusmudeli osa, seega kirjutage see üles, selle asemel et seda katkestuse ajal avastada.