Laba shay ayaa loo soo sheegaa hal cilad: laptop-ku wuxuu u guuray shabakad kale oo Wi-Fi ah, ama kabel ayaa la xiro intii Wi-Fi uu shaqeynayay. Macmiilku wali wuxuu leeyahay waa xiran yahay, sumadda waxay u muuqataa mid caafimaad qabta, tunnel-kuna waxba ma qaado. Hoosta, saddex qaybood oo xaalad ah oo keliya ayaa dhaqaaqi kara - xiriirka, cinwaanka gudaha, marinka caadiga ah - oo tan dhaqaaqday ayaa go’aamisa in tunnel-ku iskiis u soo kabto ama u baahan yahay dib u xiriir. Waxaan ku hubiyaa sidaas oo kale, sababtoo ah beddelka goobaha akoonka waligiis ma hagaajin midkoodna.

Xiriirka, cinwaanka iyo marinku si madax-bannaan ayay u dhaqaaqaan

Roaminta u dhexeeya barta gelitaanka ee isku shabakad ah badanaa waa dhacdo L2. Raadiyaha ayaa dib u xirma, interface-ku wuxuu hayaa cinwaankiisa iyo gateway-ga, oo wax aan tunnel-ku ku tiirsan yahay ma beddelmo, taas ayaa sabab u ah in xafiis weyn dhexdiisa socodku mararka qaarkood si aan la dareemin u dhaafo. Ku biirista SSID kale sidaas maaha: interface-kii hore wuu hoos dhici karaa, DHCP waxay bixisaa cinwaan cusub, gateway cusub iyo xalliyeyaal cusub, oo qulqulka dibadda ee tunnel-ku isticmaalayay ma sii jiro.

Ethernet waxay ku dartaa qaab saddexaad. Wi-Fi waligiis ma dhicin, marka dhacdo xiriir ah ma dhacdo gabi ahaan, laakiin interface-ka xadhkaha leh wuxuu u soo muuqdaa cinwaankiisa oo wuxuu inta badan ku guuleystaa marinka caadiga ah metrik ahaan. Tunnel-ku wuxuu sii socdaa waddo aan la doorbidin, ama macmiilku wuxuu socket-kiisa ku hayaa ku dheggan shabakaddii wireless-ka ee uu ku bilaabay. Browser-ka labaduba isku mid bay u muuqdaan: bogaggu waxay istaagaan isla markii kabelku dhaco.

Marka su’aasha koowaad maaha in Wi-Fi uu is beddelay. Waa in cinwaanka aad ku xiran tahay, ama marinka ilaa barta ugu dambeysa, uu is beddelay intii tunnel-ku shaqeynayay.

Socket-ka dibaddu wuxuu ku dheggan yahay cinwaan hadda lumay

Tunnel kastaa waa qulqul dibadeed: cinwaan gudaha iyo deked ayaa la hadlaya cinwaanka serverka iyo dekeddiisa. Linux, taasi waa socket UDP oo ku xiran ishii hore; marka interface-ka haysta cinwaanka la saaro, diristu waxay ku guuldareysataa EADDRNOTAVAIL ama waxay ka soo baxdaa interface-ka cusub iyadoo wadata isha uusan serverku waligiis arag.

Dhinaca fogga wuxuu hayaa ku-dheggistiisa. SA IKEv2 oo aan MOBIKE lahayn waxaa lagu gartaa lammaanaha cinwaanka, iyo OpenVPN fadhi wuxuu ku xiran yahay cinwaanka faca ee uu bartay, khariidadda NAT-na waxay ka tirsan tahay cinwaanka gaarka ah, dekedda iyo cinwaanka guud ee abuuray. U guur NAT kale gadaashiisa oo jawaab kastaa waxay u tagtaa khariidad aan sii jirin. Waxba kuma qaldana mashiinkaaga; shanta-tuple waxay tilmaamaysaa shabakad aad ka tagtay.

Akhri xaaladda ka hor intaadan aragti samayn:

  • ss -unp wuxuu muujinayaa cinwaanka gudaha iyo dekedda uu socket kasta oo tunnel-ku dhab ahaan hayo.
  • ip route get 203.0.113.10 wuxuu daabacaa cinwaanka isha iyo aaladda uu kernel-ku hadda u isticmaali lahaa barta ugu dambeysa.
  • wg show wg0 endpoints, swanctl --list-sas ama log-ga macmiilku wuxuu muujinayaa cinwaanka faca ee dhinaca foggu u malaynayo inuu la hadlayo.

Haddii cinwaanka socket-ka iyo raadinta marinku aysan is waafaqin, waad heshay jebinta, oo wax beddelaad aqoonsi ah ma taabanayo.

Waxa ay borotokool kastaa ku sameeyo cinwaan isha cusub

Macmiilladu waxay nuugaan isbeddelka si heerar kala duwan ah, shaxduna waa waxa aan ku barbar dhigo qaabeynta macmiilka halkii aan ka qiyaasi lahaa habdhaqanka dib u xirka.

TunnelRecovery behaviourFailure signature
WireGuardUpdates the peer endpoint when an authenticated packet arrives from a new address; no handshake needed if traffic continues.Handshake current, no return traffic; wg show still lists the old endpoint.
IKEv2/IPsecMOBIKE (RFC 4555) moves the SA to the new address; without it the responder discards packets from an unknown source.DPD or keepalive timeouts, then a full rekey or a dead SA.
OpenVPN over UDP--float accepts a packet from a new source mid-session; otherwise the session stays tied to the original peer address.Idle until ping-restart fires, then a visible reconnect.
OpenVPN over TCPThe tunnel is a byte stream, so a changed source address breaks it outright.Immediate reset and a new connection attempt.

Qaanuunka roaminta WireGuard wuxuu u shaqeeyaa hal jiho oo keliya: macmiilku waa inuu marka hore ka diraa cinwaanka cusub. Socket-ka weli ku xiran interface-kii hore waligiis sidaas ma sameeyo, taas ayaa sabab u ah in tunnel-ku u muuqan karo mid nool inta waqtigeedu gacan-qaadista duugoobayo. sharraxaadda borotokoolka waxay si sax ah u sheegtaa shardiga cusboonaysiinta barta ugu dambeysa, waana mudan in la akhriyo ka hor intaadan beddelin qaabeyn.

MOBIKE waa laga wada xaajoodaa, lama maleeyo. Haddii serverku aanu soo bandhigin, macmiilku waa inuu dib u dhigo, waana xaqiiqad aad ka xaqiijiso liiska SA ama log-ga, oo aadan ka soo saarin shaagag wareegaya.

Jidka waxaa go’aama mudnaanta marinka, ma aha sumadda Wi-Fi

Marka labada interface ay kor yihiin, kernel-ku wuxuu doortaa metrik iyo dhererka horgalaha. ip route show default wuxuu taxaa murashaxiinta, ip route get 203.0.113.10 waxayna xallinaysaa go’aanka dhabta ah, oo ay ku jirto cinwaanka isha. Marinka caadiga ah ee xadhkaha leh oo metrik 100 ah iyo mid wireless ah oo 600 ah waxay ka dhigan tahay in barta ugu dambeysa ay dhaqaaqdo isla markii kabelku fadhiisto, halka app kasta oo socket horay u furay uu hayo ishiisii hore.

Windows sidoo kale wuxuu sidaas ku sameeyaa metrikka interface-ka otomaatiga ah, oo xawaaraha xiriirku u janjeedho. Get-NetRoute -DestinationPrefix 0.0.0.0/0 wuxuu kala saaraa murashaxiinta, Find-NetRoute -RemoteIPAddress 203.0.113.10 wuxuuna soo celiyaa interface-ka iyo isha uu stack-ku dooran lahaa. Macmiilka socket-kiisa dibadda ku xira hal interface wuxuu sii wadaa isticmaalkiisa ka dib metrikku rogmado; taasi waa go’aan ku-xirid, ma aha cilad marin.

Android waxay ka dhigtaa kala-qaybsanaanta mid muuqata: ConnectivityManager waxay soo sheegtaa shabakadaha la heli karo iyo mid caadi ah oo gooni ah, app-ka VPN oo socket ku xira shayga Network wuxuu hayaa ku-xiridkaas ilaa uu dib u xiro. macOS, scutil --nwi wuxuu daabacaa interface-ka koowaad iyo nidaamka uu systemku isticmaali lahaa.

DNS, MTU iyo IPv6 waxay la dhaqaaqaan xiriirka

Xiriir cusub wuxuu keenaa xalliyeyaal cusub. systemd-resolved, DNS waa mid xiriir kasta, resolvectl status waxay muujinaysaa xiriirka ka jawaaba magac, shabakad martida oo qaybisaa xalliyeheeda u gaar ah waxay ka tagi kartaa DNS-ka uu tunnel-ku riixay mid aan la isticmaalin ilaa xiriirku mar kale la doorbido. Bogga xannibaya wuxuu ka sii daro: codsiga HTTPS ee ugu horreeya waxaa ka jawaaba bogga halkii barta ugu dambeysa, macmiilkuna wuxuu diiwaangeliyaa server dhintay.

MTU-da jidkuna wuu is beddelaa. Ethernet iyo Wi-Fi badanaa waxay qaadaan 1500 byte, PPPoE 1492, xiriirada mobaylka badanaa ka yar. Tunnel-ka dhaxla MTU yar wuxuu ku istaagaa baakadaha waaweyn halka codsiyada yaryar ay gudbaan, taas oo loo akhriyaa xiriir badhkiis jaban. ping -M do -s 1472 203.0.113.10 wuxuu diraa baakad 1500 byte ah oo DF lagu dhigay; aamusnaantu waxay ka dhigan tahay in jidku ka yar yahay wixii aad u qiyaastay.

IPv6 waa qaybta kale. Shabakad bixisa horgale cusub waxay beddeshaa isha uu macmiil laba-stack ah isticmaali lahaa, tunnel-ka v4 oo keliya wuxuu ka taga v6 taraafikada bannaanka ilaa siyaasadu soo gaarto. ip -6 route show default iyo ip -6 addr show waxay ka jawaabaan haddii xiriirka cusub uu haba yaraatee leeyahay jid v6.

Soo saar isbeddelka halkii aad qeexi lahayd

Dooro hal codsi aan waxyeello lahayn oo ku socodsii saddexda amar ee isku mid ah labada dhinac ee isbeddelka: ip -br addr, ip route show default, ip route get 203.0.113.10. Kadib fiiri haddii tunnel-ku wali soo saaro baakado - tcpdump -ni any udp port 51820 WireGuard, dekedda u dhiganta wax kasta oo kale. Baakadaha ka soo baxa isha hore waxay ka dhigan yihiin dhibaato ku-xirid. Baakadaha ka soo baxa isha cusub oo aan jawaab lahayn waxay ka dhigan yihiin dhinaca fog ama NAT dhexdiisa.

Diiwaangeli dhacdada la socotay ciladda ugu horreysa: xiriir hoos dhacay, cinwaan is beddelay, ama marinka caadiga ah is beddelay. Kuwaani waxay tilmaamayaan mas’uuliyiin kala duwan - macmiil dib loo xiri doono, cinwaan dib loo heli doono, ama marin ka tirsan fayl qaabeyn oo aan ka tirsaneyn qaanuun dhaqan-gal ah oo joogto ah.

Ka hor intaadan dhahin waa la hagaajiyay, xaqiiji in xannibaadda taraafikada tooska ahi ay weli taagan tahay inta farqigu socdo iyo in magacyadu ku xalliyaan xiriirka cusub. Haddii macmiilku hayo barta hore ee ugu dambeysa ka dib beddelka, marka hore hagaaji goobta roaminta ama float. Haddii uu si sax ah u roamo oo weli jawaab helin, fiiri aqoonsiga faca serverka iyo NAT-ka jidka, oo labada xaaladood ee shabakadda ku hay warbixinta si qofka xiga uu isu barbar dhigi karo.

Maqaallo la xiriira