Topelt-NAT ja sinu VPN: klient töötab, server mitte
Kaks aadresse tõlkivat ruuterit peatavad väljuvat VPN-klienti harva. Serveri majutamine nende taga on raskem, eriti kui välimine kiht on operaatori-tasemeline NAT.
Sinu ruuter seisab teise ruuteri taga, WAN-aadress on privaatne ja VPN-klient ühendub siiski. See kombinatsioon üllatab inimesi, kes ootavad, et topelt-NAT lõhub tunnelid, aga just väljuvaid ühendusi tõlge kõige paremini käsitleb. VPN-serveri majutamine samade kahe kihi taga on juhtum, mis tavaliselt ebaõnnestub. Joonista ühenduse suund enne, kui midagi muudad.
Joonista kõigepealt ühenduse suund
Ava sisemise ruuteri olekuleht ja kirjuta üles selle WAN-aadress, seejärel võrdle seda aadressiga, mille avalik teenus sulle teatab. Kui need kaks erinevad, seisab sinu ruuteri ja interneti vahel vähemalt üks tõlkija. Kui WAN-aadress jääb vahemikku 100.64.0.0/10, kuulub välimine tõlkija tõenäoliselt sinu teenusepakkujale ja sina ei kontrolli seda. Need kaks fakti otsustavad, milline hilisematest sammudest üldse töötada saab.
curl -s https://ifconfig.me
ip -brief address
traceroute -n 1.1.1.1
Topelt-NAT ei ole topelt-VPN. Tõlge kirjutab ümber aadresse ja porte; see ei lisa teist krüpteeritud tunnelit ega krüpteeri midagi. Kahe idee lahus hoidmine on oluline, sest lahendused on täiesti erinevad ja üks neist nõuab vestlust sinu teenusepakkujaga, mitte seadete lehte.
Väljuv suund: klient küsib, tõlkijad kaardistavad
Väljuv tunnel algab sinu masinast lähtuva paketiga, nii et iga tõlkija saab luua vastenduse ja lasta vastuse tagasi sisse. Protokoll, port ja jõudeoleku taimerid otsustavad, kas see vastendus püsib piisavalt kaua, et olla kasulik. Enamik tarbijaruutereid saab sellega hakkama täiesti ilma seadistamata.
Tõrked, mis tegelikult ilmnevad, puudutavad tavaliselt ajalimiite ja protokolli tuge, mitte ruuterite arvu. Tunnel, mis langeb pärast mõneminutilist vaikust, on lõppev vastendus, ja keepalive on tavaline vastus. IPsecil on standardsed NAT-traversal laiendused, seega väide, et see ei saa tõlkest läbi minna, on lihtsalt vale. Kui tunnel ei teki üldse, vaata lõpp-punkti ja mandaate enne, kui topoloogiat süüdistad.
wg show
ping -c3 10.8.0.1
Peatu, kui väljuv tunnel töötab ühest võrgust ja teisest mitte. See võrdlus käib võrkude, mitte ruuterite arvu kohta.
Sisenev suund: edasisaatmine katab ainult sinu enda seadmeid
Serveri majutamine on vastupidine suund: uus ühendus saabub internetist ja peab jõudma sinu masinani läbi iga kihi. Sisemise ruuteri pordiedastusreegel aitab ainult siis, kui välimine tõlkija toimetab selle liikluse ka sinuni. Kohaliku reegli kordamine ei anna kontrolli teenusepakkuja seadmete üle.
nc -vz 203.0.113.10 51820
ss -lunp 'sport = :51820'
Võrdle sisemise ruuteri WAN-aadressi avaliku aadressiga, mida vaatlesid, ja pane kirja, kust iga väärtus pärineb. Kui WAN-aadress on privaatne või jagatud vahemikus, teeb välimine kiht tõlget, mida sa seadistada ei saa. Küsi teenusepakkujalt, millist sissetulevat kättesaadavust see toetab, enne kui kulutad terve õhtu reeglitele, mis ei saa jõustuda. Ruuteri eemaldamine või tulemüüri laialdane väljalülitamine ei ole diagnoos ja on halb vahetus ühe avatud pordi eest.
Peatu, kui välimine kiht kuulub teenusepakkujale ega edasta. Siis on toetatud vastused teine juurdepääsumeetod või relee, mitte veel üks reegel sinu poolel.
Testi ühte muutujat korraga
Muuda iga katse kohta ühte asja ja kirjuta tulemus üles, sest topelt-NAT teel on rohkem muutujaid kui ühe ruuteri teel. Hoia profiil ja seade muutumatuna, seejärel võrdle teise juurdepääsuvõrguga. Pane tähele, kas läbirääkimine ebaõnnestub, kas sessioon langeb pärast jõudeolekut või kas ainult privaatsed sihtkohad ebaõnnestuvad. Need kolm tähelepanekut osutavad kolmele erinevale kihile.
journalctl -u wg-quick@wg0 -n 30 --no-pager
ip route get 10.20.30.40
Kattuvad privaatsed alamsuvõrgud on eraldi lõks, mida ükski tõlke kogus ei paranda. Kui sinu koduvõrk ja kaugvõrk kasutavad sama vahemikku, tekib marsruudikonflikt sõltumata sellest, kui palju tõlkijaid nende vahel on. Ühe poole ümbernummerdamine on ainus püsiv vastus.
Kaugvärav väärib sama tähelepanu, sest selle edasisaatmisreeglid ja tagasiteed võivad olla puuduv tükk. Tunnel, mis autendib, võib siiski mitte omada kasutatavat rakendusteed, ja see tõrge näeb kliendi poolelt välja ühesugune. Ülevaade lõpeb siis, kui suudad öelda, milline suund ebaõnnestub ja milline kiht selle eest vastutab.