Weka nukuu pande zote mbili za lango la VPN na mkondo mmoja unaweza kuonyesha anwani nne tofauti. NAT chanzo huandika upya mahali pakiti inadai inatokea; NAT lengwa huandika upya mahali inakwenda. Masquerade si mwelekeo wa tatu, ni kanuni ya NAT chanzo inayochukua anwani kutoka kiolesura cha kutoka badala ya thamani isiyobadilika. Taja ni ipi kati ya tatu unayohitaji kweli na tiketi nyingi za „VPN imevunjika“ hupungua kuwa swali kuhusu njia ya kurudi.

Kila kanuni huandika upya nini

NAT chanzo, kwa kawaida huandikwa SNAT, hubadilisha anwani ya chanzo ya mkondo wakati unatoka kwenye kipanga njia au lango. Huduma inayopokea hujibu kwa anwani iliyotafsiriwa, na sanduku linalotafsiri hurudisha mabadiliko kwa hali iliyoihifadhi kwa muunganisho huo. Katika Linux hali hiyo huishi katika conntrack, ndiyo sababu conntrack -L huchapisha jozi za asili na jibu kando kando.

NAT lengwa, DNAT, hubadilisha lengo badala yake. Pakiti inayoelekezwa kwa anwani ya umma kwenye UDP 51820 inaweza kuandikwa upya kwenda kwa seva ya ndani ya WireGuard kwenye 10.8.0.2:51820. Hivi ndivyo kipanga njia cha nyumbani au kisawazisha mzigo cha wingu huchapisha msikilizaji wa VPN, na hilo halisemi chochote kuhusu kile ambacho handaki inaweza kubeba baadaye.

Masquerade ni mali ya familia ya SNAT. Kanuni haitaji anwani yoyote; hutumia ile ambayo kiolesura cha kutoka kinayo wakati pakiti inatoka. Linux huipa lengo lake mwenyewe, na ni chaguo la kawaida kwenye kiolesura cha WAN kinachopata anwani yake kutoka DHCP au PPPoE.

Mahali ramani inapoishi huamua hitilafu

Rekodi jozi katika kila mpaka: kabla ya handaki, ndani yake na kwenye kiolesura cha umma. Nukuu ndani ya handaki inatofautiana kwa halali na ile ya nje, na yeyote anayelinganisha hizi mbili bila kujua tafsiri inafanyika wapi atafukuza mwenyeji asiye sahihi.

Trafiki ya kurudi lazima ipite kwenye kifaa kinachoshikilia ramani. Ikiwa jibu linachukua njia nyingine, kiungo cha pili cha juu, njia ya sera au mtoa huduma ambaye hajawahi kusikia kuhusu masafa yako ya faragha, tafsiri ya kinyume yenye hali haifanyiki kamwe na mteja huona trafiki ya upande mmoja. Kuongeza NAT chanzo zaidi mara chache hurekebisha njia ya kurudi inayokosekana; kunaweza kuficha dalili kwenye mkondo mmoja huku kikivunja sera inayotegemea anwani kila mahali pengine.

Kosa lingine la kawaida ni kutarajia handaki kuunda uwezo wa njia. Mteja wa faragha ambaye pakiti zake zinatoka kwenda intaneti anahitaji mpangilio halali wa kutoka: njia chaguomsingi, lango linalosambaza mbele na kwa kawaida tafsiri ya chanzo kwenda anwani ya umma. Usimbaji fiche peke yake haufanyi anwani ya faragha kufikiwa.

Masquerade au SNAT dhahiri

Linganisha hizo mbili kwa kile zinachoahidi. Masquerade huchagua anwani ya kutoka, SNAT dhahiri huifunga. Kwenye lango lenye anwani ya umma thabiti, kufunga kunawapa kumbukumbu na orodha za ruhusa za washirika thamani moja inayotabirika. Kwenye kiungo cha WAN kinachobadilika, anwani ya SNAT iliyofungwa huwa si sahihi mara kodi inapobadilika, na Masquerade ilijengwa kwa ajili ya kisa hicho hasa.

Wigo ni muhimu kama uchaguzi. Kanuni ya Masquerade inayolingana na kila pakiti inayoacha lango, bila kikomo cha chanzo au lengo, hutafsiri pia trafiki uliyokusudia kuiacha salama, ikiwa ni pamoja na trafiki kwenda mitandao mingine ya faragha. Weka kikomo cha kanuni kwa masafa ya wateja, lengo lililokusudiwa na kiolesura.

IPsec inayotegemea sera ndipo hii inauma zaidi. Mwongozo wa usambazaji wa strongSwan unapitia kuwasha usambazaji wa IP na kuongeza kanuni ya NAT chanzo kwa wateja, na nyaraka hizo hizo zinashughulikia kuondoa trafiki ambayo lazima ihifadhi anwani yake ya asili. Tafsiri chanzo kabla sera ya usalama haijalingana nacho na handaki inaweza kupanda wakati trafiki bado inaanguka, kwa sababu pakiti haionekani tena kama kiteuzi kilichojadiliwa.

Amua pia kile mwisho wa mbali unapaswa kuona. Baada ya tafsiri huduma huona lango, si mteja mmoja mmoja. Hilo hurahisisha uelekezaji wa kurudi na wakati huo huo husawazisha kumbukumbu na kubatilisha orodha za ruhusa kwa kila mteja. Ikiwa kuhifadhi anwani za wateja ni muhimu, panga njia ya kurudi yenye uelekezaji badala ya kuzificha ili jaribio lipite.

Kusoma kanuni kwenye lango la Linux

Lango la ufikiaji wa mbali lenye wateja kwenye 10.8.0.0/24 na kiolesura cha WAN kinachoitwa eth0 linahitaji usambazaji umewashwa na sera ya kuchuja inayoruhusu mkondo, ndipo kanuni yoyote ya NAT inaweza kusaidia. Toleo la iptables huhifadhi pande zote mbili kwenye jedwali la nat:

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

Muundo wa nftables hutumia ndoano hizo mbili zenye kiolesura kilichotajwa na mnyororo dhahiri:

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

Vipande vyote viwili vinadhani mnyororo wa kuchuja unakubali mkondo uliosambazwa tayari. NAT si kanuni ya ruhusa, na pakiti iliyotafsiriwa ipasavyo inaweza bado kutupwa jedwali moja baadaye. Thibitisha ramani hai kwa conntrack -L, thibitisha kilichopakiwa kwa nft list ruleset au iptables-save -t nat, kisha nukuu kwenye violesura vyote viwili ili kuona anwani inabadilika kweli.

Mifumo ya hitilafu inayoonekana kama kanuni mbaya

Trafiki ya pini ya nywele ndiyo ya kawaida. Mteja wa ndani anayefikia seva ya ndani kupitia anwani ya umma ya seva anahitaji DNAT njiani kuingia na tafsiri ya chanzo njiani kurudi nje, vinginevyo seva hujibu moja kwa moja kwa mteja na jibu linakataliwa. Suluhisho ni kanuni ya pili, nyembamba zaidi kwa kisa hicho cha ndani-kwenda-umma, si kanuni pana ya Masquerade kwa kila kitu.

Tafsiri mbili ndiyo ya kimya. Mteja aliye tayari nyuma ya NAT ya kiwango cha mtoa huduma hufika kwenye lango lako na anwani ambayo huwezi kuielekeza kurudi, kwa hiyo unatafsiri tena. Inafanya kazi, lakini kumbukumbu sasa zinabeba kuruka mbili za anwani za faragha na uchunguzi wowote unahitaji ramani zote mbili. IPsec inayotegemea sera huongeza mzunguko wa tatu: tafsiri kabla ya ulinganifu wa sera na unapata SA iliyopanda bila trafiki kupita, ambayo husomwa kama hitilafu ya ukuta wa moto na si ya NAT.

Kisha kuna jaribio linalopita na usambazaji unaoshindikana. Kuendesha amri ya NAT kwa mkono kunathibitisha utaratibu, si usanidi. Kanuni iliyoongezwa wakati wa utendaji hupotea kwenye kuwasha upya au kwenye tukio la kiolesura linalofuata, na kanuni ya Masquerade iliyofungwa kwa kiolesura kinachobadilisha namba inaweza kubadilisha kimya anwani ambayo mwisho wa mbali unaiona. Weka kanuni katika usanidi wa ukuta wa moto unaoimiliki na ujaribu tena baada ya kuunganisha upya.

Orodha ya ukaguzi kabla ya kuhifadhi kanuni

Taja mwelekeo kwanza: chanzo, lengo au zote mbili. Kisha tambua ni nani anapaswa kushikilia hali — lango, kipanga njia cha juu au mwenza wa IPsec — na thibitisha njia ya jibu inarudi kupitia kwake. Weka kikomo cha kanuni kwa masafa ya wateja, lengo na kiolesura unachokusudia kweli, na amua mapema ikiwa mwisho wa mbali unapaswa kuona lango au anwani ya asili ya mteja.

Jaribu kutoka kwa mteja, si kutoka kwa lango. Kivinjari kwenye lango lenyewe kinaweza kukwepa kabisa kanuni ya tafsiri ya mteja, kwa hiyo ukurasa unaofanya kazi hapo hauthibitishi chochote kuhusu handaki. Tuma ombi moja linalotoka kwa mteja, angalia vihesabu na jedwali la conntrack, na urudie baada ya handaki kuunganisha upya na anwani ya WAN kubadilika ikiwa mojawapo inawezekana mahali unapofanya kazi.

Makala zinazohusiana