Laba cilladood ayaa isku mid ka muqda calaamadda sanduuqa nidaamka: xogta gasha tunnel-ka iyo xogta si aamusan uga wareegta. Macmiilku labada xaaladoodba wuxuu muujiyaa Connected, maxaa yeelay Connected waxay kaliya ka dhigan tahay in interface-ka tunnel-ku jiro iyo in macmiilku rakibay waddooyinka uu rabay. In hal baakidh oo hal barnaamij ah uu isticmaalay waddooyinkaas waa su'aal gooni ah, oo laga jawaabo meel kale oo stack-ka ah. Afar cabbir ayaa xalliya inta badan — raadinta waddada, boodboodka koowaad, qabashada adapter-ka jireed iyo fiirsashada dibadda — iyo aragtida fadhiga server-ka ayaa daboolaysa inta kale.

Ka bilow waddada baakidhku qaadan doono

Shaxda marin-tu waa go'aanka, markaa wax ka weydii hal meel halkii aad akhrin lahayd dhan oo qiyaasi lahayd. Linux, ip route get wuxuu magacaabaa interface-ka iyo cinwaanka isha ee kernel-ku doortay:

ip route get 203.0.113.10
ip route get 10.20.5.7

Windows, Find-NetRoute -RemoteIPAddress 203.0.113.10 wuu ka faa'iido badan yahay route print -4 isla sababta: wuxuu soo sheegaa waddada guulaysatay, ma aha dhammaan waddooyinka jira. Si kastaba ha ahaatee hal mar akhri shaxda safkeeda 0.0.0.0. Lamid /1 halkaas waxay ka dhigan tahay in macmiilka tunnel-ka buuxa uu dib u qoray waddada caadiga: ikhtiyaarka redirect-gateway def1 ee OpenVPN wuxuu tunnel-ka ku rakibaa 0.0.0.0/1 iyo 128.0.0.0/1, taas oo ka guulaysata 0.0.0.0/0 jira marka la eego iswaafajinta prefix-ka ugu dheer iyada oo aan tirtirin waddada caadiga ee jireed. Taasi waa sababta laba waddo oo caadi ah ay wada jiri karaan iyada oo wax walba wali galo tunnel-ka.

Laba faahfaahin ayaa shaxda beenta ka dhigaya. Marka hore, eeg prefix-ka iswaafajiyay ee ha eegin tirada waddooyinka caadiga, maxaa yeelay cabbirka interface-ka ama lamidka /1 ayaa go'aamiya guuleystaha. Marka labaad, xidhiidh hore u jiray wuxuu hayaa waddada lagu aasaasay; ka dib marka tunnel-ku kaco, fadhi furan wuxuu sii wadi karaa isticmaalka waddada hore ilaa la dib u dejiyo, taasina waa sababta dib u xidhiidhku ugu muuqdo inuu hagaajinayo dhibaatada marin-tu. Macmiilka shaqaynaya — ps ax | grep openvpn — wuxuu kaliya caddeeyaa in hawsha bilaabatay.

Raac hal magac gudaha ah iyo hal magac dadweyne ah

Raadinta waddada waxay muujinaysaa niyadda; waddadu waxay muujinaysaa gaarsiinta. Inta aad xidhiidhan tahay, raac magac ay tahay inuu gudaha ahaado iyo magac aan sidaas ahayn, oo is barbardhig boodboodka koowaad:

traceroute intranet.corp.example
traceroute 1.1.1.1

Boodboodka koowaad ee isku mid ah labadaba waxay ka dhigan tahay in magaca gudaha uusan waligiis galin tunnel-ka oo cilladdu ka sarreyso, badanaa magac u beddela cinwaan dadweyne ama waddo aan waligeed la rakibin. Haddii xogta gudaha ay ka baxdo 10.8.0.1 halka tan dadweynuhu ka baxdo 192.168.1.1, tunnel-ka qaybsan wuxuu sameynayaa si sax ah wixii loo diyaariyay. Raadka gaara iridda VPN dabadeedna soo celiya kaliya waqtiyada dhammaadka ayaa badanaa dhibaatada waddada soo noqoshada ama firewall-ka server-ka, ma aha waddo gudbin oo maqan.

ICMP la sifeeyay ayaa hubintan beenta ka dhigaya: xiddigaha labada raad waxay u eg yihiin tunnel dhintay oo badanaa waa firewall. Tijaabi deked TCP meesha aad kartid — traceroute -T -p 443 Linux — oo xusuusnow raadku ma sheegayo yaa xalliyaha ka jawaabay: magac ayaa gudaha lagu xallin karaa oo wali tunnel-ka lagu gaari karaa.

Ku qabo adapter-ka jireed, ma aha tunnel-ka

Isku-xidhka jireed waa meesha kaliya ee muujisa waxa shabakaddu dhab ahaan aragto. Marka tunnel-ku sarreeyo, fadhiga xafiiska ahaa waa inuu u muuqdaa sida xamuul sir ah oo loo diray server-ka VPN, ma aha sida xidhiidh ku socda 10.20.5.7:

sudo tcpdump -ni eth0 udp port 53
sudo tcpdump -ni eth0 host 10.20.0.5

Sifeeyaha koowaad wuxuu qabtaa xallinta magacyada ka baxda gudaha, taas oo ah daadinta ugu badan ee ugu aamusan — boggu wali wuu soo dhoofmaa, xalliyuhu wuxuu arkay oo kaliya weydiinta. Kan labaad wuxuu qabtaa xog caadi ah oo ku socota cinwaan gudaha oo kaliya tunnel-ka dhexdiisa ku jiraan. Windows, pktmon isla shaqadaas wuu qabtaa isagoon darawal lahayn: pktmon filter add -p 53, kadib pktmon start --capture --pkt-size 128, kadib pktmon stop iyo pktmon format pktmon.etl -o capture.txt. Calaamadahaas waxyar bay ku kala duwan yihiin noocyada Windows, markaa hubi pktmon filter add /? ka hor inta aadan aammin qaabka.

Ku qabo interface-ka jireed si aad u hesho daadinta; qabashada tunnel-ka waxay ka kooban tahay baakidhada aad hore u aaminsan tahay inay halkaas ku jiraan, server-kana waxay ka kooban tahay baakidh dibadeed aan la akhrin karin oo isha laga soo qaato iridda. Tiriyayaasha byte-ka interface kasta waxay qeexaan baakidhada, ma aha barnaamijyada; si xogta loo nisbeeyo hawsha waxaa loo baahan yahay kormeeraha isku xira sockets-ka iyo hawlo.

Weydii adeeg dibadeed, kadibna mar kale weydii barnaamij kasta

Hubinta kaliya ee caddeysa bixitaanka waa jawaab dibadda ka timid: adeeg soo celiya cinwaanka isha ee uu arkay. Ka socodsii qolof, halkaas oo aad dooran kartid interface-ka, oo laba jeer socodsii:

sudo curl --interface tun0 https://example.net/ip
sudo curl --interface eth0 https://example.net/ip

Jawaabo kala duwan ayaa ku siinaya caddaynta labada waddo iyo qaab lagu tijaabiyo barnaamij gaar ah: ku xidh, ama ku socodsii meel magac shabakadeed oo hal waddo leh, oo arag cinwaanka cidhifka fog diiwaangeliyo. Jawaabo isku mid ah waa cilladda xiisaha leh: ama xidhnaantu ma shaqayn, ama wax ka mid ah martigeliyaha iyo cidhifka fog ayaa dib u qora cinwaanka isha ka hor inta uusan imaan. Windows, curl --interface wuxuu rabaa cinwaanka adapter-ka ma aha magaciisa.

Browser soo sheegta cinwaanka VPN ayaa caddeeya browser-ka. Macmiilka iimaylka, maareeyaha baakidhada, wakiilka kaydka ama profile browser labaad mid kastaa wuxuu qaadan karaa waddo kale, gaar ahaan marka dejinta proxy ama waddo tunnel qaybsan ay daboolaan mid ka mid ah. Isbeddelka cinwaanku iskiis ma aha caddaynta daadinta: isku-dheellitiriyaha culeyska wuu ka jawaabi karaa si kala duwan iyadoo ku xiran bixitaanka uu arkay, markaa is barbardhig cinwaanka isha ee diiwaangashan, ma aha bogga.

Isticmaal aragtida server-ka si aad u xaqiijiso lammaanaha

Server-ku wuxuu ka jawaabaa su'aal kale: in lammaanuhu xidhan yahay, intee uu qaaday iyo in fadhigu dib u bilaabmay. Lammaanaha server-ka ku firfircoon halka tiriyayaasha macmiilku si dhib leh u dhaqaaqaan waxay ka dhigan tahay in xogta barnaamijku aanay gelin tunnel-ka, wax kasta oo shaxda macmiilku sheegtay. Lammaanaha xog badan u raraya isticmaale sheegaya in aanay waxba shaqaynayn waa baaritaan kale.

Halkan waxaa ku jira laba dabin. Tunnel-ka la qariyay wuxuu qof kasta ka dhigaa mid ka yimid iridda, sidaas darteed diiwaannada iyo xisaabta macmiil kastaa waxay ku dhacaan hal cinwaan. Macmiilka waxaa loo arkaa martigeliye maxalli ah, sidaas darteed su'aasha ah in qofku faylalka ku nuqulayo VPN waxaa ka jawaaba xogta wadaagga faylalka ee server-ka ama hanti-dhawrka martigeliyaha ee server-ka — daawashada tunnel-ka waxay bixisaa cidhifyo iyo mug, ma aha magacyada faylalka.

Kala sooc go'aanka naqshadeynta iyo daadinta

Ma aha wax kasta oo dibadda tunnel-ka ah inuu daadin yahay. Xogta isku-xidhka maxalliga ah iyo baahinta waxay ahaanaysaa mid maxalli ah sida naqshadeynta, daabacaha lagu helay multicast wuxuu sii wadaa ku dhawaaqista LAN, DHCP-na waa inuu gudaha ka baxaa. Barnaamij ku xidhan interface gaar ah wuxuu si ula kac ah uga gudbaa shaxda marin-tu, oo kaliya qaanuunka firewall, meel magac ama waddo siyaasad ah ayaa beddela taas.

IPv6 wuxuu mudan yahay safkiisa gaar ah liiska hubinta. Tunnel-ka qaata kaliya IPv4 wuxuu uga taga martigeliyaha laba-stack waddo labaad oo la isticmaali karo, goobta laba-stack-na way doorbidaysaa — oo ay ku jirto DNS, haddii xalliyaha laga gaari karo IPv6. Ka dami IPv6 adapter-ka ama xaqiiji in tunnel-ku qaado ka hor inta aadan natiijada IPv4 u qaadan mid buuxda.

Marka hubinnada aanay is waafaqsanayn, khilaafku badanaa wuxuu magacaabaa cilladda:

What you seeWhat it meansNext step
The route picks tun0 but the capture shows cleartext to 10.20.5.7Something bypassed the table: a bound app, a policy route or a session older than the tunnelReset the flow, check the app bind, check the ip rule list
The route picks eth0 for an internal nameThe name resolves to a public address, or the route was never installedCompare the resolved address with the routes the server pushes
The capture shows DNS to the LAN resolverResolver leak: data is tunneled, lookups are notPoint the resolver inside, or push it from the server
All four checks agree and one app still failsPath selection is fine; suspect MTU, a per-app proxy or the far endTest the same destination from a known-good client

Nidaam shaqeeya: kaydi shaxda marin-tu ka hor iyo ka dib xidhiidhka, raac hal magac gudaha ah iyo hal dadweyne, ku qabo DNS adapter-ka jireed, ka soo celi cinwaanka bixitaanka qolofka barnaamijka gaar ah, kadib akhri server-ka mug ahaan. Haddii afarta koowaad ay is waafaqaan, tunnel-ku wuxuu qaadayaa wixii aad u malaynaysay oo dhibaatada hadhay waxay ka sarraysaa. Haddii laba ka mid ah aanay is waafaqsanayn, lammaanaha aan is waafaqsanayn ayaa cilladda ah, ma aha calaamadda.

Maqaallo la xiriira