NAT ayaa go'aamiya cinwaanka isha ah ee serverkaaga VPN uu run ahaantii arko
Cinwaanka laptopkaaga weligiis ma gaadho serverka VPN. NAT ayaa dib u qoraa isaga boodhka ugu dambeeya, IP-ga tunnelkaana waa la bixiyaa mar dambe. Sida loo barbardhigo labada daraf.
Waxaad qiyaasaysaa in serverka VPN uu ka akhriyo cinwaanka laptopkaaga baakadda oo uu ku qoro diiwaan. Waxa uu akhriyaa waa waxa boodhka NAT ee ugu dambeeyay ku daray madaxa dibadda, telefoonka loo isticmaalo hotspot ahaanna inta badan waa cinwaan ay la wadaagaan boqolaal macmiil oo kale. Cinwaanka mishiinkaaga qudhiisa 192.168.x.x weligiis kama gudbo internetka madaxaas, cinwaanka tunnelkaana serverka ayaa bixiya ka dib marka xiriirka horey u taagan yahay. Sidaas darteed marka diiwaanka serverka iyo ip addr ee laptopka aanay is waafaqsanayn, midkoodna khalad maaha; waxay qeexaan lakabyo kala duwan oo hal fadhi ah.
Saddex cinwaan, oo diiwaanka ku jira mid keliya
Jahwareerku wuxuu ka yimaadaa in saddex cinwaan lagu ururiyo mid. Mid kastaa wuxuu leeyahay milkiile kale, wuxuu ku nool yahay madax kale, wuxuuna serverka ku gaadhaa waddo kale.
| Address | Who assigns it | Where it sits | Visible to the VPN server |
|---|---|---|---|
Device address, e.g. 192.168.1.24 | Your router via DHCP | Outer header, before translation | No, rewritten in place |
| Translated address and port | Router, ISP CGNAT, or both | Outer header, after translation | Yes, this is the tuple it logs |
Tunnel address, e.g. 10.8.0.6 | The VPN server itself | Inner header, after decapsulation | Yes, but it chose it |
Marka la isku xiro oo keliya safka dhexe ayaa aan la garanayn. Serverku wuxuu ku qoraa shaxda saaxiibada, faylka xaaladda ama diiwaanka qulqulka iyadoo ku xiran daemonka: WireGuard wuxuu u yaqaannaa barta ugu dambeysa, faylka xaaladda OpenVPN wuxuu u calaamadeeyaa Real Address, strongSwanna wuxuu soo sheegaa martigeliyaha fog ee IKE_SA. Qiimahaas waa la cusboonaysiiyaa mar kasta oo baakad ka timaaddo il kale, sidaas darteed wuu is beddelaa iyada oo aan qofna wax dib u bilaabin.
Safka hoose waa waxa dadku si khaldan u akhriyaan sida sheegasho aqoonsi. Wuxuu calaamadeeyaa boos ku yaal qaabeynta serverka, ma aha qof, sababtoo ah serverku wuxuu ka doortay barkiisa. Laba isticmaale ayaa heli kara isla cinwaanka tunnel maalmo kala duwan, midna wuxuu hayn karaa laba oo ka mid ah laba qalab.
Sababta tuple-ka la diiwaangeliyay uu isu beddelo inta tunnelku taagan yahay
Turjumaadda cinwaanku waa shax leh timer, ma aha xiriir joogto ah. Routerka gurigu wuxuu hayaa khariidadda UDP muddo ka dib baakadda ugu dambeysa, gateway-ga shirkaddu wuxuu dib u isticmaalaa dekedaha sida jadwalkiisa, telefoonka Wi-Fi ka LTE u gudbaana wuxuu ku soo noqdaa il gebi ahaan kale. Halkan qiimaha caadiga ah ee conntrack ee Linux waa cabbir faa'iido leh: nf_conntrack_udp_timeout waa 30 ilbiriqsi iyo nooca qulqulka 120, sidaas darteed tunnel aamusan ayaa lumin kara khariidaddiisa wax badan ka hor inta uusan isticmaalaha ogaan.
Tunnelku wuu noolaadaa sababtoo ah borotokoolku wuxuu xaqiijiyaa saaxiibka, ma aha cinwaanka. WireGuard waa xaalad-la'aan ka dib is-gacan-qaadka, sidaas darteed baakad kasta oo la xaqiijiyay waxay cusboonaysiisaa barta ugu dambeysa ee la kaydiyay oo dib-u-xiriddu waxay bogsataa baakadda xigta; persistent-keepalive = 25 waa sababtaas, si khariidadda loo hayo diiran inta aan shaqayn. --float ee OpenVPN isla shaqeeya wuxuuna u oggolaanayaa macmiil la xaqiijiyay inuu ka sii socdo cinwaan iyo deked cusub. Dhismayaasha 2.4 iyo 2.5 ee float si caadi ah u dammaan, dib-u-xiriddu waxay dib u dhigtaa fadhiga macmiilkuna dib u xirmaa.
IPsec wuxuu halkaas ku gaadhaa qaybo dhaqaaqa badan. IKEv2 wuxuu ogaadaa turjumaadda isagoo barbardhigaya hash-ka isha iyo meesha loo socdo ee xamuulka ogaanshaha NAT, wuxuu u gudbaa isku-duubidda UDP 4500, wuxuuna raacaa keepalive ilaa tuple-ka cusub. Marka keepalive la xannibo SA wuxuu ku sii jiraa warqad ahaan halka taraafikada hal jiho si aamusan u joogsato.
Waxa serverku u nisbayn karo, iyo waxa aanu karin
Khuraafaadka mudan in la dilo waa in turjumaaddu kaa qariso hawlwadeenka. Waxay beddeshaa summada, ma aha indho-indheynta. Gateway ka dambeeya NAT-ka hawlwadeenka wuxuu arkaa booska 100.64.0.0/10 ama hal cinwaan dadweyne oo ay wadaagaan macaamiil badan, welina wuxuu qulqulka ku xiri karaa mawduuca shahaadada, furaha dadweynaha WireGuard, cinwaanka tunnel la qoondeeyay, tiriyeyaasha byte iyo daaqadda waqtiga. Midkoodna uma baahna cinwaankaaga LAN.
Xuduuduhuna waxay u socdaan jiho kale sidoo kale. Cinwaan la wadaago oo diiwaanka ku jira wuxuu tilmaamaa gateway, ma aha guri; laba fadhi oo ka yimid isla cinwaanka la turjumay oo ku kala yaal dekedo kala duwan waa qalab kala duwan; isla cinwaanka laba maalmood oo kala duwan wuxuu noqon karaa laba macmiil oo aan xiriir lahayn haddii dekedda dib loo isticmaalay. Serverka diiwaangeliya oo kaliya furayaasha saaxiibada ma xiri karo mid macmiilka iyada oo aan lahayn keydka xogta akoonnada, serverka diiwaangeliya oo kaliya cinwaannadana ma kala garto laptop iyo telefoonka isla routerka gadaashiisa.
Barbardhig labada daraf halkii aad qiyaasi lahayd
Si aad u caddayso waxa dhacay, qabso isla xiriirka labada daraf isla daqiiqadda oo barbardhig tuple-ka, ma aha cinwaanka. Macmiilka dhexdiisa, ka hor turjumaad kasta:
ss -uapn 'dport = :51820'
ip -4 route get 203.0.113.10
wg show wg0 endpoints
Kadib akhri gelitaanka turjumaadda ee routerka ama gateway-ga CGNAT, iyo waxa ugu dambayn serverka soo gaadha:
conntrack -L -p udp --dport 51820
tcpdump -ni eth0 udp port 51820
Saddex qaab ayaa sharxaya inta badan is-waafaq-darrada. Dekedda isha ee serverka way ka duwan tahay dekedda maxalliga ah halka meesha loo socdo ay is waafaqsan tahay: turjumaad deked caadi ah. Cinwaanka isha ee serverka wuxuu ka tirsan yahay block ISP aan adiga kuu ahayn: ugu yaraan hal lakab NAT oo dheeraad ah. Baakaduhu way joogsadaan ka dib muddo aan shaqayn oo waxay ku sii socdaan deked cusub: khariidadda way dhacday, ma aha cilad waddo. Haddii shaambooyinka waqtigu ay ka badan yihiin hal ama laba ilbiriqsi, waxaad barbardhigaysaa laba isku day oo kala duwan.
Halka farqigu waxyaabaha ku jebiyo
Ciladaha u eg ciladaha serverka waxay inta badan ka bilaabmaan halkan. Xeerka gelitaanka ee ku dheggan cinwaankaaga guriga wuu fashilmaa ka dib marka lease-ka ISP uu is beddelo. Xeerka fail2ban ee u dhigma cinwaan la turjumay wuxuu hal mar ka mamnuucaa dhammaan macaamiisha gateway-gaas gadaashiisa. Saaxiibka site-to-site ee leh cinwaan fog oo go'an wuxuu joojiyaa cusboonaysiinta furayaasha ka dib marka xiriirka mobilka uu is beddelo. Borotokoolka tunnelku wuu fiicnaa; malo-awaalka ku saabsan tuple-ka dibadda ma ahayn.
Isla jahwareerkaas wuxuu ka muuqdaa dhinaca serverka. Haddii sanduuqa VPN qudhiisu uu ka dambeeyo NAT waxaad u baahan tahay gudbin deked iyo waddo gudbin oo shaqaysa; hagaha gudbinta strongSwan wuxuu daboolaa kiiskaas IPsec. Serverka laga gaari karo oo kaliya cinwaan gaar ah weligiis ma arko tuple-ka la turjumay ee macaamiishiisu soo bandhigaan, taasna waa dhibaato ka duwan turjumaadda macaamiisha.
Mar labaad kontarooladan afarta ah si taxane ah oo ku joogso tan ugu horreysa ee fashilma:
- Labada daraf isla waqti isku qabso; xaqiiji in dekedda isha, dekedda meesha loo socdo iyo shaambooyinka waqtigu is waafaqsan yihiin.
- Liiska saaxiibada serverka ka akhri cinwaanka uu hadda hayo, ma aha kii aad filaysay.
- Shaxda conntrack ama NAT ku eeg gelitaanka iyo cimrigiisa hadhay.
- Xaqiiji in cinwaanka interface-ka tunnelka ee macmiilka uu la mid yahay kii serverku qoondeeyay, ma aha cinwaanka LAN.
Haddii labada qabasho ay ku heshiiyaan tuple-ka oo tunnelku weli fashilmo, turjumaaddu maaha dhibaatadaada; u gudub is-gacan-qaadka iyo shaxda waddooyinka ee tunnelka gudihiisa.