Rakibidda macaamiil labaad oo VPN ah si loo gaaro hal shabakad macaamiil waa habka caadiga ah ee tan ku bilaabato, tunnel-kii horena wuu madoobaa inta labada macaamiilba ay soo sheegayaan guul. Macaamiil kastaa wuxuu rakibay dariiqo default ah, kii labaad wuu ka gaar ahaa, oo kernel-ku hadda wuu raacaa tan wax kasta marka laga reebo xiriirka dibadda ee tunnel-kii hore laftiisa. Waxba ma dumin, profile-na ma khaldan. Hal dariiqo ayaa beddelay mid kale, xalkuna waa in la go'aamiyo tunnel-kee baa leh default-ka.

Calaamadda: macaamiilka labaad si aamusan buu guuleystaa

OpenVPN: ikhtiyaarka redirect-gateway def1 ma qoro 0.0.0.0/0. Wuxuu ku darayaa 0.0.0.0/1 iyo 128.0.0.0/1: labadoodu si wadajir ah waxay daboolaan ciwaan kasta IPv4, dariiqo kastaa wuxuu ka adkaadaa default caadi ah dherer ahaan. Default-kii asalka ahaa wuxuu ku sii jiraa shaxda oo aan loo isticmaalin taraafik caadi ah, dariiqo host ah oo server-ka VPN-na waxay ka ilaalisaa tunnel-ka inuu qabto baakadihiisa dibadda. Labada macaamiilba sidaas bay sameeyaan, kii labaadna wuxuu kaliya rakibaa lammaanihiisa mar dambe.

Taasi waa sababta tunnel-kii hore uu ugu muuqdo mid dhintay halkii uu go'ay lahaa. Interface-kiisu wuu sarreeyaa, kanaalka kontoroolkiisu wuu nool yahay, taraafikna ma gaaro isaga mar dambe. Cabashada lidka ah waxay leedahay isla push maqan: telefoon ku xirma laakiin waxba dirin sida caadiga ah waxay la hadashaa server aan waligii ku dhawaaqin redirect-gateway, sidaas darteed qalabku wuxuu hayaa default-kiisa oo wuxuu gaaraa kaliya barkada.

Qaado sawirka dariiqooyinka ka hor iyo ka dib marka macaamiilka labaad xirmo. Labada nus-dariiqo ee ka muuqda shaxda waa isbeddelka oo dhan, waxayna sharxaan labada cabasho. Wax kale oo shaxda ku jira ma u baahna inuu dhaqaaqo si calaamaddu u muuqato. Taasi waa sababta ka saarista macaamiilka labaad ay isla markiiba soo celiso kii hore.

Akhri tunnel-kee dhab ahaan guuleysta

Ha ka soo saarin guuleystaha nidaamka ay macaamiisha ku bilaabmeen ama astaanta ku jirta tray-ga. Weydii kernel-ka dariiqo kee uu isticmaali lahaa goob ka baxsan labada shabakadood gaar ah, oo akhri interface-ka soo noqda.

ip route show
ip route get 198.51.100.24
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.24

Labada hore waa jawaabta Linux, labada dambe waa u-dhigga Windows. Ku socodsii inta labada tunnelba sarreeyaan, ka dib goo mid oo mar kale socodsii. Farqiga u dhexeeya labada wax soo saar waa xaqiiqda aad u baahan tahay ka hor inta aadan dooran xal, wuxuuna qaataa waqti ka yar akhrinta log-ka mid kasta oo macaamiisha.

Diiwaangeli natiijada, oo ay ku jiraan magaca interface-ka iyo prefikska u dhigma. Tikidka sheegaya in VPN-kii labaad jebiyay kii hore waa sharraxaad calaamad, ma aha odhaah dariiqo oo qof ku dhaqaaqi karo. Raadinta waxay ka dhigtaa xaqiiqo uu injineerka xiga ku celin karo hal amar.

Windows: ka hor istaag profile keliya inuu leeyahay default-ka

Windows waxay hayaan profiles la kaydiyay, macaamiilka dhexdiisa ku jirana wuxuu u oggolaanayaa mid inuu ku tiirsanaado mid kale si kii hore si otomaatig ah u soo baxo marka kii labaad waco. Profile-ka ugu dambeeyay xirmay wuxuu u muuqdaa inuu hayo default-ka, sidaas darteed milkiilaha wax ku oolka ah waa wicitaankii ugu dambeeyay ee ma aha kii hore. Sii profile kastaa dariiqooyinkiisa push oo u shid split tunneling kan aan ahayn inuu leeyahay default-ka.

Set-VpnConnection -Name "Contoso" -SplitTunneling $true
rasdial Contoso

Split tunneling waxay tan beddelaa: kaliya prefikska server-ku pushay ayaa gala shaxda, taasoo default-ka uga tagta tunnel-kii hore. Naqshaddu weli way guuldareysataa haddii labada serverba pushaan dariiqo default, sababtoo ah markaas ayaa xiriirkii ugu dambeeyay guuleysta oo ma jiro dejinta dhinaca macaamiilka oo tan beddela. Hagaaji push-ka dhinaca server-ka ama aqbal hal milkiile.

Profiles-ka ay bilaabaan app-ku waa sifo kale oo mudan in la ogaado: profile Windows ah wuxuu bilaabmi karaa marka executable magac leh bilaabmo, iyadoo filtarrada taraafikku go'aamiyaan waxa uu qaado. Kani waa dejin profile ah ee ma aha qaanuun firewall, wuxuuna xalliyaa dhibaato ka duwan isku dhaca dariiqo default.

Linux: ka hay tunnel-ka labaad shaxda weyn

Ku socodsiinta laba instance oo openvpn --config hal mishiin waxay labada macaamiilba dhigtaa isla shax, saddex ikhtiyaarna waxay kala soocaan iyagoo kordhinaya go'doominta. Kan ugu fudud waa in laga joojiso macaamiilka labaad inuu shaxda wax ka beddelo gabi ahaanba: route-nopull oo dariiqooyin cad leh, ama script route-up oo kaliya rakiba waxa aad qorsheyso. Markaas tunnel-ka labaad wuxuu qaadaa si sax ah prefikska aad sheegto oo wax kale ma qaado. Markaas adigaa go'aamiya prefikska meesha uu tagayo halkii aad mar dambe ogaan lahayd.

Dariiqaynta siyaasadda waa ikhtiyaarka dhexe. Qaanuun wuxuu u doortaa shax gooni ah hal ciwaan isha ama calaamad firewall, shaxdaasna waxay qaadaa dariiqooyinka tunnel-ka labaad. Filtarka dariiqa rogan waa dabin halkan, sababtoo ah jawaabta timaadda interface ka duwan tan shaxdu dooran lahayd waa la tuuraa, sidaas darteed hubi dejinta rp_filter ka hor inta aadan soo gabagabeyn in tunnel-ku jaban yahay.

ip rule add from 10.44.7.0/24 table 100
ip route add default dev tun1 table 100
sysctl net.ipv4.conf.all.rp_filter

Boosaska magacyada shabakadda waa ikhtiyaarka ugu culus iyo kan ugu nadiifsan. Ku bilow macaamiilka labaad gudaha ip netns, sii lammaane veth, oo gal booskaas magacyada si aad u isticmaasho. Faragelintu way baaba'daa sababtoo ah boos kastaa wuxuu leeyahay shaxdiisa halkii uu ka wadaagi lahaa mid, taasoo mudan dejinta dheeraadka ah marka labada tunnelba ay tahay inay kor sii jiraan toddobaadyo.

Marka loo eego app kasta, iyo silsilad-dhigista oo dhibaato gooni ah

Mararka qaarkood waa in kaliya hal barnaamij isticmaalo tunnel-ka labaad. Linux dhexdiisa, dariiqaynta siyaasadda ee isticmaale, cgroup ama port ayaa gaarta natiijadaas, hal goobna waxaa lagu dhejin karaa interface iyada oo aan default-ka la taaban gabi ahaanba. App-ka dhejiya socket-kiisa hal interface marnaba ma tashado shaxda dariiqaynta, sidaas darteed bilowgu wuxuu sii wadi karaa isticmaalka adapterka jirka ilaa ciwaan laga doorto dejintiisa.

Silsilad-dhigistu waa hawlgalka ka duwan ku socodsiinta laba tunnel oo dhinac-dhinac ah. A ku silsilad-dhigid B wuxuu ka dhigan yahay in ciwaanka server-ka gudaha uu ahaado mid laga gaari karo gudaha tunnel-ka dibadda. Macaamiilka dibaddana kama fikiri karo baakadaha sirta ah ee macaamiilka gudaha inay daadanayaan. Hal macaamiil oo ku jira mishiin macmal ah waa nooca qallafsan laakiin la isku halayn karo; labaduba hal host waxay u baahan yihiin shaqada dariiqaynta kor ku xusan iyo waddo dibadda ah oo u jeedda server-ka gudaha oo aan waligii gelin tunnel-ka gudaha.

Qor milkiilaha default-ka, liiska prefikska tunnel kastaa qaado iyo wadada DNS. Saddexda xaqiiqo waxay dhacdada xigta ka dhigtaan raadin halkii baaritaan.

Maqaallo la xiriira