Waxaad ku darto xeer taraafikada VPN silsiladda FORWARD, waxaad codsiga ka fulisaa isla mishiinka Linux, oo tiriyaha wuxuu ku sii jiraa eber. Xeerkuba waa sax. Baakaddu waligeed ma martay dariiqaas, sababtoo ah codsi mishiinka laftiisa lagu abuuray isagu ma gudbiyo. Raadraaca nolosha baakadda laga bilaabo socket-ka ilaa fiilada ayaa sharxaya sababta, iyo halka xeerku dhab ahaan ku habboon yahay.

Soo hel halka baakaddu ku dhalatay

Nidaamka qabashada Netfilter wuxuu kala saaraa saddex xaaladood, oo mid keliya ayaa ku lug leh FORWARD:

OriginPathHook that sees it
Local processOUTPUT then POSTROUTINGOUTPUT, POSTROUTING
Addressed to a local servicePREROUTING then INPUTPREROUTING, INPUT
Received for another hostPREROUTING, FORWARD, POSTROUTINGFORWARD

App maxalli ah wuxuu ka bilaabmaa dariiqa OUTPUT, sababtoo ah kernel-ku horey ayuu u go'aansaday in baakaddu halkan ka soo baxdo oo aan waligeed ahayn musharrax gudbin. Abuurista tunnel ma beddesho kala-soociddaas; tunnel-ku waa qalab baakaddu ku bixi karto, ma aha marxalad u beddela soo-saarka maxalliga ah gudbin.

Laba baakad, hal sheeko

Marka tunnel-ku kaco, baakadda gudaha ee app-ka iyo baakadda dibadda ee sirteysan waa waxyaabo kala duwan. Baakadda gudaha waxay qaadaysaa meesha loo socdo iyo culayska uu app-ku doortay. Baakadda dibaddu waxay qaadaysaa qoraal sir ah cinwaanka iyo dekedda lammaanaha, waana tan dhab ahaan ka gudubta interface-ka jirka.

Siyaasaddaadu waxay khuseysaa mid ka mid ah, oo doorashada khaladka ah waa sabab caadi ah oo xeerku u muuqdo mid aan waxba qaban. Xeerka ku habboon cinwaanka dibadda ee lammaanaha wuxuu u arkaa baakad kasta oo tunnel isku mid, wax kasta oo app-ka gudaha sameeyo. Xeerka ku habboon meel gudaha ah wuxuu arkaa taraafikada aad danaynayso, wuuna shaqeyn doonaa kaliya haddii baakaddaas gaarto qabashada aad xeerka ku rakibtay.

Namespace-yadu waxay raraan xadka

Konteynerku wuxuu tan ka dhigaa mid adag isagoo aan beddelin mabda'a. Codsiga app-ku waa soo-saar maxalli ah gudaha namespace-ka shabakadda konteynerka. Martigeliyuhu wuxuu taraafikadaas ku qaataa interface Ethernet male-awaal ah wuuna gudbin karaa, sidaas darteed xeer FORWARD oo martigeliyaha ku yaal wuxuu yeelan karaa macne inkastoo habka abuuray codsiga uusan waligiis taaban silsiladda OUTPUT ee martigeliyaha.

Ka hor intaadan dooran qabasho, hubi halka xeerarka iyo tunnel-ku dhab ahaan ku nool yihiin. Tunnel konteynerka gudihiisa, tunnel martigeliyaha korkiisa oo konteynerka lagu maro, iyo tunnel namespace gaar ah leh waa saddex topology oo kala duwan oo leh saddex meelood oo xeerar oo kala duwan. Akhri xeerarka gudaha namespace-ka leh qalabka, ma aha oo kaliya tan caadiga ah.

Weydii haddii aad u baahan tahay calaamad gabi ahaanba

Haddii hadafka uu yahay in hal horgale oo meel loo socdo tunnel-ka lagu maro, dariiq loo sameeyay horgalahaas wuu ku filnaan karaa. Marka hore hubi dariiqyada shaqeeya, oo ay ku jiraan wax kasta oo server-ku riixay: dariiqa caadiga ah ee la leexiyay wuxuu VPN-ka maraa taraafik aad uga badan siyaasadda cidhiidhiga ah ee aad maskaxda ku haysay, oo qadar kasta oo calaamad ah ma ka dhigi doono natiijada mid la jaanqaadasha ujeedka.

Kala-soocid ayaa loo baahan yahay marka go'aanku ku xiran yahay wax aan dariiqu sheegi karin, sida isha, isticmaalaha ama habka. Taraafikada la helay, calaamadaynta PREROUTING way shaqeysaa. Taraafikada maxalliga ah, calaamadayntu waa in ay dhacdaa marxalad soo-saar ah oo kicin karta raadin dariiq cusub ka dib marka calaamadda la dhigo. nftables, taasi waa silsilad nooca route ah oo ku taal qabashada soo-saarka; silsilad shaandhayn soo-saar caadi ah ayaa dhigi doonta qiimaha oo ka tagi doonta dariiqa isbeddel la'aan.

iptables, Waxa u dhigma wuxuu ku nool yahay habaynta mangle OUTPUT, oo isla shuruuddaas ayaa khuseysa: go'aanka dariiqa waa in dib loo eego ka dib marka calaamaddu jirto. Kadib xeer siyaasadeed waa in uu isticmaalo calaamadda oo uu tilmaamo shax leh dariiq la isticmaali karo. Dhigista calaamad conntrack waa mid saddexaad, oo gooni ah; waxay kaydisaa qiime qulqulka oo keligeed ma dhigo qiimahaas baakadda hadda jirta si dariiqu u akhriyo.

Hubi raadinta iyo tiriyaha wada

nft list ruleset
ip route get 198.51.100.25
ip route get 198.51.100.25 mark 0x1

Cinwaanka iyo calaamaddu waa tusaale, labada weydiin ee dariiquna waxay ka jawaabaan su'aalo kala duwan. Tan labaad waxay weydiineysaa waxa kernel-ku yeeli lahaa haddii baakaddu qaadatay calaamaddaas; ma tuso in xeerarkaagu mid u qoondeeyo. U qaado sidii tijaabo mala-awaal ah, ma aha caddayn in siyaasaddu shaqeyneyso.

Kadib fuli codsi aan waxyeello lahayn oo isla wakhti u fiirso laba shay: tiriyaha qabashada aad dooratay, iyo bixitaanka uu baakaddu dhab ahaan qaatay. Haddii tiriyuhu dhaqaaqo oo baakaddu meel kale ka baxdo, calaamadda ama shaxdu waa khalad. Haddii midkoodna aan dhaqaaqin, baakaddu ma gaarto qabashadaas gabi ahaanba, su'aasha xigtana waa namespace-ka ama dariiqa.

Ugu dambeyntii, ku xaddid tijaabada waxa farsamadu sheegi karto. Hal dariiq oo hal cinwaan loo sameeyay ma noqonayo siyaasad joogto ah adeeg cinwaannadiisu beddelmaan. Marka hore go'aanso baaxadda baakadaha, kadib hubi haddii naqshadda dariiqa iyo calaamadayntu ay baaxaddaas hayn karto ka dib dib u xirid.

Maqaallo la xiriira