Inti timmaġina s-server VPN jaqra l-indirizz tal-laptop tiegħek mill-pakkett u jiktbu f'log. Dak li jaqra huwa dak li l-aħħar qabża NAT poġġiet fl-intestatura esterna, u fuq telefon użat bħala hotspot dan spiss ikun indirizz maqsum ma' mijiet ta' abbonati oħra. L-indirizz tal-magna tiegħek stess 192.168.x.x qatt ma jaqsam l-internet f'dik l-intestatura, u l-indirizz tat-tunnel jingħata mis-server wara li l-konnessjoni tkun diġà miftuħa. Għalhekk meta l-log tas-server u ip addr fuq il-laptop ma jaqblux, lanqas wieħed mhu żbaljat; huma jiddeskrivu saffi differenti ta' sessjoni waħda.

Tliet indirizzi, u wieħed biss fil-log

Il-konfużjoni tiġi milli tliet indirizzi jiġu mgħaqqda f'wieħed. Kull wieħed għandu sid differenti, jgħix f'intestatura differenti u jasal għas-server permezz ta' triq differenti.

AddressWho assigns itWhere it sitsVisible to the VPN server
Device address, e.g. 192.168.1.24Your router via DHCPOuter header, before translationNo, rewritten in place
Translated address and portRouter, ISP CGNAT, or bothOuter header, after translationYes, this is the tuple it logs
Tunnel address, e.g. 10.8.0.6The VPN server itselfInner header, after decapsulationYes, but it chose it

Biss ir-ringiela tan-nofs mhija magħrufa fil-mument tal-konnessjoni. Is-server jiktibha fit-tabella tal-pari, fil-fajl tal-istat jew fil-log tal-flussi skont id-daemon: WireGuard isejħilha l-punt tat-tmiem, fajl tal-istat ta' OpenVPN jittikkettaha bħala Real Address, u strongSwan jirrappurtaha bħala l-host remot tal-IKE_SA. Dan il-valur jiġi aġġornat kull darba li jasal pakkett minn sors differenti, għalhekk jinbidel mingħajr ma ħadd jerġa jibda xejn.

Ir-ringiela t'isfel hija dik li n-nies jaqraw ħażin bħala dikjarazzjoni ta' identità. Hija timmarka post fil-konfigurazzjoni tas-server, mhux persuna, għax is-server għażilha mill-pool tiegħu stess. Żewġ utenti jistgħu jirċievu l-istess indirizz tat-tunnel f'ġranet differenti, u wieħed jista' jżomm tnejn minnhom minn żewġ apparati.

Għaliex it-tuple rreġistrat jinbidel waqt li t-tunnel jibqa' attiv

It-traduzzjoni tal-indirizzi hija tabella b'timer, mhux rabta permanenti. Router tad-dar iżomm il-mapping UDP tiegħu għal ftit wara l-aħħar pakkett, gateway tal-operatur jerġa juża l-ports skont l-iskeda tiegħu, u telefon li jmur minn Wi-Fi għal LTE jerġa lura b'sors kompletament differenti. Il-valuri awtomatiċi ta' conntrack f'Linux huma kejl utli hawn: nf_conntrack_udp_timeout huwa 30 sekondi u l-varjant tal-istrimjar huwa 120, għalhekk tunnel baxx jista' jitlef il-mapping tiegħu ħafna qabel ma l-utent jinnotah.

It-tunnel jibqa' ħaj għax il-protokoll jawtentika lill-pari, mhux l-indirizz. WireGuard huwa bla stat wara l-handshake, għalhekk kull pakkett awtentikat jaġġorna l-punt tat-tmiem maħżun u r-rabta mill-ġdid tfejjaq fuq il-pakkett li jmiss; għalhekk teżisti persistent-keepalive = 25, biex il-mapping jibqa' sħun waqt l-inattività. Il---float ta' OpenVPN jagħmel l-istess xogħol u jħalli klijent awtentikat jibqa' għaddej minn indirizz u port ġodda. Fil-bini 2.4 u 2.5 fejn float huwa mitfi b'mod awtomatiku, rabta mill-ġdid tirrisettja s-sessjoni u l-klijent jerġa jikkonnettja.

IPsec jasal hemm b'aktar partijiet li jiċċaqilqu. IKEv2 jinnota t-traduzzjoni billi jqabbel il-hashes tas-sors u tad-destinazzjoni fil-payloads tal-iskoperta NAT, jaqleb għall-inkapsulament UDP 4500, u jsegwi l-keepalives sat-tuple l-ġdid. Meta l-keepalives jiġu mblukkati, l-SA jibqa' attiv fuq il-karta waqt li t-traffiku f'direzzjoni waħda jieqaf bil-kwiet.

X'jista' jattribwixxi s-server, u x'ma jistax

Il-mit li jistħoqqlu jinqatel huwa li t-traduzzjoni taħbik mill-operatur. Hija tbiddel it-tikketta, mhux l-osservazzjoni. Gateway wara n-NAT tal-operatur jara spazju 100.64.0.0/10 jew indirizz pubbliku wieħed maqsum minn ħafna abbonati, u xorta jista' jorbot il-fluss ma' suġġett taċ-ċertifikat, ċavetta pubblika ta' WireGuard, indirizz tat-tunnel assenjat, counters tal-bytes u tieqa taż-żmien. Xejn minn dan m'għandu bżonn l-indirizz LAN tiegħek.

Il-limiti jimxu wkoll fid-direzzjoni l-oħra. Indirizz maqsum f'log jindika gateway, mhux dar; żewġ sessjonijiet mill-istess indirizz tradott fuq ports differenti huma apparati differenti; l-istess indirizz f'ġranet differenti jista' jkun żewġ abbonati mhux relatati jekk il-port ġie riċiklat. Server li jirreġistra biss ċwievet tal-pari ma jistax jorbot waħda ma' klijent mingħajr id-database tal-kontijiet, u server li jirreġistra biss indirizzi ma jistax jiddistingwi laptop minn telefon wara l-istess router.

Qabbel iż-żewġt trufijiet minflok taqta' bl-addoċċ

Biex tistabbilixxi x'ġara, aqbad l-istess konnessjoni fiż-żewġt trufijiet fl-istess mument u qabbel it-tuple, mhux l-indirizz. Fuq il-klijent, qabel kull traduzzjoni:

ss -uapn 'dport = :51820'
ip -4 route get 203.0.113.10
wg show wg0 endpoints

Imbagħad aqra l-entrata tat-traduzzjoni fuq ir-router jew il-gateway CGNAT, u dak li fl-aħħar jasal għas-server:

conntrack -L -p udp --dport 51820
tcpdump -ni eth0 udp port 51820

Tliet mudelli jispjegaw il-biċċa l-kbira tad-differenzi. Il-port tas-sors fuq is-server huwa differenti mill-port lokali waqt li d-destinazzjoni taqbel: traduzzjoni tal-ports ordinarja. L-indirizz tas-sors fuq is-server jappartjeni għal blokk ISP li mhuwiex tiegħek: mill-inqas saff NAT addizzjonali. Il-pakketti jieqfu wara perjodu ta' inattività u jerġgħu jibdew b'port ġdid: il-mapping skada, mhux ħsara fit-routing. Jekk it-timbri tal-ħin huma aktar minn sekonda jew tnejn 'il bogħod minn xulxin, qed tqabbel żewġ tentattivi differenti.

Fejn id-differenza tkisser l-affarijiet

Interruzzjonijiet li jidhru bħal ħsarat tas-server normalment jibdew hawn. Regola ta' aċċess imwaħħla mal-indirizz tad-dar tiegħek tfalli wara li jinbidel il-lease tal-ISP. Regola ta' fail2ban li taqbel ma' indirizz tradott tipprojbixxi l-abbonati kollha wara dak il-gateway f'daqqa. Pari sit-sit b'indirizz remot fiss jieqaf iġġedded iċ-ċwievet wara li jinbidel link mobbli. Il-protokoll tat-tunnel kien sew; is-suppożizzjoni dwar it-tuple estern ma kinitx.

L-istess konfużjoni tidher fuq in-naħa tas-server. Jekk il-kaxxa VPN innifisha tinsab wara NAT għandek bżonn port forwarding u passaġġ ta' forwarding li jaħdem; il-gwida tal-forwarding ta' strongSwan tkopri dak il-każ għal IPsec. Server li jintlaħaq biss fuq indirizz privat qatt ma jara t-tuple tradott li jippreżentaw il-klijenti tiegħu, u din hija problema differenti milli l-klijenti jiġu tradotti.

Għaddi minn dawn l-erba' verifiki fl-ordni u waqaf fl-ewwel waħda li tfalli:

  • Aqbad fiż-żewġt trufijiet fl-istess ħin; ikkonferma li l-port tas-sors, il-port tad-destinazzjoni u t-timbri tal-ħin jaqblu.
  • Aqra l-lista tal-pari tas-server għall-indirizz li għandu bħalissa, mhux dak li kont qed tistenna.
  • Iċċekkja t-tabella conntrack jew NAT għall-entrata u l-ħajja li fadal tagħha.
  • Ikkonferma li l-indirizz tal-interface tat-tunnel fuq il-klijent jaqbel ma' dak assenjat mis-server, mhux mal-indirizz LAN.

Jekk iż-żewġ qabdiet jaqblu dwar it-tuple u t-tunnel xorta jfalli, it-traduzzjoni mhijiex il-problema tiegħek; kompli għall-handshake u għat-tabella tar-routing ġewwa t-tunnel.

Artikli relatati