SNAT, DNAT og Masquerade: hvað gerir hver VPN-NAT-regla
Uppruni-NAT endurskrifar hvaðan flæði virðist koma; áfangastaðar-NAT endurskrifar hvert það fer. Masquerade er uppruni-NAT með lánað vistfang.
Settu gildru á báðar hliðar VPN-gáttar og ein flæði getur sýnt fjögur mismunandi vistföng. Uppruni-NAT endurskrifar hvaðan pakkinn segist koma; áfangastaðar-NAT endurskrifar hvert hann fer. Masquerade er ekki þriðja stefnan, heldur uppruni-NAT-regla sem tekur vistfang sitt af útgangsviðmótinu í stað fasts gildis. Nefndu hverja þriggja þú þarft í raun og veru og flest „VPN er bilað“ miðar minnka í spurningu um afturleiðina.
Hvað hver regla endurskrifar
Uppruni-NAT, venjulega skrifað SNAT, breytir upprunavistfangi flæðis þegar það yfirgefur beini eða gátt. Þjónustan sem tekur við svarar á þýdda vistfangið, og boxið sem þýðir snýr breytingunni við með stöðunni sem það hélt fyrir þá tengingu. Á Linux býr sú staða í conntrack, þess vegna prentar conntrack -L upprunalegu og svar-túplana hlið við hlið.
Áfangastaðar-NAT, DNAT, breytir áfangastaðnum í staðinn. Hægt er að endurskrifa pakka sem er beint að opinberu vistfangi á UDP 51820 yfir á innri WireGuard-þjón á 10.8.0.2:51820. Þannig birtir heimabeini eða skýjahleðslujafnari VPN-hlustun, og það segir ekkert um hvað göngin mega bera á eftir.
Masquerade tilheyrir SNAT-ættinni. Reglan nefnir ekkert vistfang; hún notar það vistfang sem útgangsviðmótið hefur þegar pakkinn fer. Linux gefur henni eigið mark, og hún er venjulega valið á WAN-viðmóti sem fær vistfang sitt frá DHCP eða PPPoE.
Hvar vörpunin býr ræður biluninni
Skráðu túpluna við hverja mörk: fyrir göngin, inni í þeim og á opinbera viðmótinu. Gildra inni í göngunum er löglega frábrugðin þeirri utan, og hver sem ber saman þær tvær án þess að vita hvar þýðingin fer fram mun elta rangt hýsil.
Afturumferð verður að fara gegnum tækið sem heldur vörpuninni. Ef svarið tekur aðra leið, annað uppstreymistengi, stefnuleið eða þjónustuaðila sem hefur aldrei heyrt um einkasviðið þitt, verður stöðutengda öfugþýðingin aldrei og biðlarinn sér einstefnuumferð. Meira uppruni-NAT laga sjaldan vantaða afturleið; það getur falið einkennið á einu flæði á sama tíma og það brýtur vistfangastýringu alls staðar annars staðar.
Hin algenga mistök eru að ætlast til að göngin skapi leiðanleika. Einkabiðlari sem pakkar sínir fara út á internetið þarf gilda útgangsráðstöfun: sjálfgefna leið, gátt sem sendir áfram og venjulega upprunaþýðingu á opinbert vistfang. Dulkóðun ein og sér gerir einkavistfang ekki aðgengilegt.
Masquerade eða skýrt SNAT
Berðu þau saman eftir því sem þau lofa. Masquerade velur útgangsvistfangið, skýrt SNAT festir það. Á gátt með stöðugu opinberu vistfangi gefur festing skrám og leyfislistum samstarfsaðila eitt fyrirsjáanlegt gildi. Á kviku WAN-tengi verður fest SNAT-vistfang rangt um leið og leigan breytist, og Masquerade var einmitt byggt fyrir það tilvik.
Umfangið skiptir eins miklu og valið. Masquerade-regla sem passar við hvern pakka sem yfirgefur gáttina, án takmarkana á uppruna eða áfangastað, þýðir líka umferð sem þú ætlaðir að halda ósnortinni, þar á meðal umferð til annarra einkaneta. Takmarkaðu regluna við biðlarasviðið, fyrirhugaðan áfangastað og viðmótið.
IPsec byggt á stefnu er þar sem þetta bítur harðast. Leiðarvísir strongSwan um áframssendingu fer í gegnum að virkja IP-áframssendingu og bæta við uppruni-NAT-reglu fyrir biðlara, og sama skjalið nær yfir að undanskilja umferð sem verður að halda upprunalegu vistfangi sínu. Þýddu uppruna áður en öryggisstefnan passar við hann og göngin geta komist upp á meðan umferðin fellur enn, því pakkinn lítur ekki lengur út eins og samið val.
Ákveddu líka hvað fjarlægi endinn á að sjá. Eftir þýðingu sér þjónusta gáttina, ekki einstaka biðlarann. Það einfaldar afturleiðarleiðingu og jafnframt sléttir það skrár og gerir leyfislista fyrir hvern biðlara gagnslausa. Ef varðveisla biðlaravistfanga skiptir máli, skipuleggðu leiðstýrða afturleið í stað þess að fela þau svo próf standist.
Að lesa reglurnar á Linux-gátt
Fjarlægðaraðgangsgátt með biðlara á 10.8.0.0/24 og WAN-viðmót að nafni eth0 þarf virka áframssendingu og síustefnu sem leyfir flæðið áður en nokkur NAT-regla getur hjálpað. iptables-útgáfan heldur báðum áttum í nat-töflunni:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 51820 \
-j DNAT --to-destination 10.8.0.2:51820
nftables-formið notar sömu tvo krókana með nefndu viðmóti og skýrri keðju:
nft add rule ip nat postrouting ip saddr 10.8.0.0/24 oifname "eth0" masquerade
nft add rule ip nat prerouting iifname "eth0" udp dport 51820 dnat to 10.8.0.2:51820
Báðir bútar gera ráð fyrir að síukeðjan samþykki þegar framsenda flæðið. NAT er ekki leyfisregla, og rétt þýddur pakki getur samt verið sagður frá einni töflu síðar. Staðfestu lifandi vörpunina með conntrack -L, staðfestu hvað er hlaðið með nft list ruleset eða iptables-save -t nat, og taktu svo gildru á báðum viðmótum til að sjá vistfangið raunverulega breytast.
Bilunarhamir sem líta út eins og slæm regla
Hárnálarumferð er klassíkin. Innri biðlari sem nær innri þjóni um opinbert vistfang þjónsins þarf DNAT á leið inn og upprunaþýðingu á leið út aftur, annars svarar þjónninn beint til biðlarans og svarinu er hafnað. Lagfæringin er önnur, þrengri regla fyrir það tilvik innra-til-opinbers, ekki víðtækari Masquerade-regla fyrir allt.
Dobbeltþýðingin er hljóðláta. Biðlari sem er þegar bak við NAT á stigi fjarskiptafyrirtækis kemur að gáttinni með vistfang sem þú getur ekki beint til baka, svo þú þýðir aftur. Það virkar, en skrár bera nú tvö stökk af einkavistföngum og hver rannsókn þarf báðar vörpanirnar. IPsec byggt á stefnu bætir við þriðja snúningnum: þýddu fyrir stefnusamsvörun og þú færð SA sem er uppi án þess að umferð fari í gegn, sem les eins og villa í eldvegg frekar en í NAT.
Svo er prófið sem stenst og uppsetningin sem bregst. Að keyra NAT-skipunina í höndunum sannar vélbúnaðinn, ekki stillingarnar. Regla sem er bætt við á keyrslutíma hverfur við endurræsingu eða við næsta viðmótsatburð, og Masquerade-regla sem er bundin viðmóti sem fær nýja tölu getur hljóðlega breytt vistfanginu sem fjarlægi endinn sér. Settu regluna í stillingar eldveggsins sem á hana og prófaðu aftur eftir endurtenginu.
Gátlisti áður en þú vistar regluna
Nefndu stefnuna fyrst: uppruni, áfangastaður eða bæði. Greindu svo hver verður að halda stöðunni — gáttin, beinirinn fyrir ofan eða IPsec-jafninginn — og staðfestu að svarleiðin komi til baka um hann. Takmarkaðu regluna við biðlarasviðið, áfangastaðinn og viðmótið sem þú átt virkilega við, og ákveddu fyrirfram hvort fjarlægi endinn eigi að sjá gáttina eða upprunalegt biðlaravistfang.
Prófaðu frá biðlara, ekki frá gáttinni. Vafri á gáttinni sjálfri getur farið alveg fram hjá þýðingarreglu biðlarans, svo síða sem virkar þar sannar ekkert um göngin. Sendu eina beiðni sem á uppruna hjá biðlaranum, fylgstu með teljurunum og conntrack-töflunni, og endurtaktu eftir endurtenginu ganganna og breytingu WAN-vistfangs ef annað tveggja er mögulegt þar sem þú vinnur.