Bypass-ka cgroup ee nftables wuxuu sidoo kale u baahan yahay hagaajinta ciwaanka isha
Calaamadeynta hal cgroup waxay u dirtay shax kale, socket-kuna wuxuu hayaa ciwaanka uu hore u lahaa. Kala-saarid, dariiqayn iyo tarjumaad sidii saddex tallaabo oo gooni ah.
Calaamadeynta taraafikada ka imanaya hal cgroup waa qaybta fudud. Saddex go'aan oo gooni ah waa in ay is waafaqaan ka hor inta hal codsi uusan ka bixin interface-ka jireed halka wax kasta oo kale uu ku sii jiro tunnel-ka: socket kee baa ka tirsan ka-reexan, raadinta dariiqa kee baa calaamaddu kiciso, iyo ciwaanka isha kee baa baakaddu qaadan doonto marka ay baxdo. Inta badan isku dayada fashilma waxay saxaan tan koowaad, kalabar tan labaad, marnaba ma eegaan tan saddexaad.
Saddex go'aan, ma aha hal
Kala-saariddu waxay ka jawaabtaa cidda laga reebay. Dariiqayntu waxay ka jawaabtaa halka baakadda calaamadeysan ay taa beddelkeeda u socoto. Doorashada ishu waxay ka jawaabtaa waxa dhinaca fog arki doono iyo halka jawaabtu ku noqonayso.
Kuwaani si madax-bannaan ayay u fashilmaan. Baakad waa la kala-saari karaa, dib ayaa loogu dariiqi karaa interface-ka jireed, welina waxay qaadan kartaa ciwaan gaar ah oo aan router kasta oo sare ka soo celin karin, taasoo dhalisa waqti-dhaafid u eg si sax ah xannibaadda firewall-ka. Waxba kala-saaridda tallaabadeeda kama digto. Waxba dariiqa tallaabadiisana ma jiraan.
Nidaamkuna wuu muhiim yahay. Kala-saariddu waxay dhacdaa marka baakadda la soo saaro, dariiqayntu intaas ka dib, tarjumaadduna marka la baxayo.
Haddii aadan sheegi karin saddexdaas marxaladood kee baa xun, ma hagaajinayso, waxaad dib u habeynaysaa sharciyada oo rajo qabtaa.
La waafaji cgroup weli berri jiri doonta
nftables wuxuu tijaabin karaa xubinimada cgroup v2 ee socket-ka, taasoo runtii faa'iido leh maxaa yeelay waxay raacdaa habka halkii ay raaci lahayd meesha loo socdo. Dabinada waa aqoonsiga. Codsi desktop ah oo laga bilaabay menu wuxuu inta badan ku noolaadaa scope ku-meel-gaar ah oo magaciisu is beddelo bilowga xiga.
nft list ruleset
systemctl status session.slice 2>/dev/null
cat /proc/self/cgroupKoobiga magaca scope ee hal fadhi oo si adag loo qoro wuxuu dhalinayaa sharci maanta shaqeeya oo berri si aamusan u waafajin waaya. Beddelkeeda codsiga geli xaalad fulin oo ula kac ah oo deggan, sida scope ama unit gaar ah oo aad maamusho, oo la waafaji. Markaas sharcigu wuxuu ka badbaadayaa dib-u-bilowga iyo cusboonaysiinta baakadaha. Waxay sidoo kale noqotaa wax uu saaxiibkiu ka fikiri karo isagoon taariikhda fadhigaaga haysan.
Sidoo kale noqo mid sax ah waxa ku saabsan habka aad isticmaalayso. Kala-saaridda net_cls ee cgroup v1 iyo is-waafajinta socket-ka ee cgroup v2 waa waxyaabo kala duwan, oo goob magac la mid ah oo ku jirta dukumeentiga ma ka dhigto mid la is-waydaarsan karo.
Raadinta labaad waxaa kiciya silsiladda route
Taraafikada gudaha laga soo saaro, nooca silsiladdu wuxuu go'aamiyaa haddii wax dhacaan ka dib marka calaamaddu la dhigo. Silsilad output ah oo nooca filter ah waxay calaamadin kartaa baakad oo kernel-ku wuxuu sii wadi doonaa isticmaalka dariiqa uu hore u doortay. Silsilad nooca route ah waa habka codsada raadin cusub.
table inet bypass {
chain mark {
type route hook output priority mangle; policy accept;
socket cgroupv2 level 2 "app.slice" meta mark set 0x1 comment "app bypass"
}
}
ip rule add fwmark 0x1 lookup 200
ip route add default via 203.0.113.1 dev wlan0 table 200Markaas calaamaddu waxay u baahan tahay sharci siyaasad ah oo u dira shax, shaxaasna waa in uu buuxaadaa: dariiq caadi ah, meelo gudaha ah oo codsigu weli u baahan yahay, iyo gateway sare oo runtii jawaaba.
Si ula kac ah u dooro qiimaha calaamadda. WireGuard waxay isticmaashaa fwmark u gaar ah taraafikada gaadiidka dibadda, oo si shil ah ugu soo degid isla lambarkaas waxay faragelin kartaa ka-reexanka dariiqa tunnel-ka laftiisa si ay u adkaato in la ogaado.
Ciwaanka ishu ma raaco dariiqa
Socket hore u doortay ciwaan isha oo ku habboon dariiqa tunnel-ka ayaa hayaa ciwaankaas ka dib dib-u-dariiqaynta. Waxba beddelka dariiqa kuma qoro, taasaa sababta baakaddu uga baxdo interface-ka jireed iyadoo sita ish gaar ah oo aan shabakadda sare soo celin karin.
Calaamadda muuqata waa codsi u muuqda mid diraya xog oo marnaba helin jawaab, iyo diiwaan firewall ah oo aan waxba tusin maxaa yeelay baakaddu marnaba soo noqon.
Hagaajinta cidhiidhiga ah waa sharci tarjumaad isha ah oo ku xaddidan calaamadda codsigaas iyo interface-ka soo-saaridda dhabta ah, laguna daro NAT-ka hore u jiray halkii la beddeli lahaa:
table inet bypass {
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
meta mark 0x1 oifname "wlan0" masquerade
}
}Tarjun ka-reexanka oo wax kale ma aha. Sharci masquerade guud ayaa hagaajiya calaamadda oo wuxuu baabi'iyaa awoodda aad ku sheegto taraafikada kee baa qaatay dariiqa kee. La waafaji calaamadda, interface-ka soo-saaridda dhabta ah iyo, haddii aad karto, ciwaanka codsiga laftiisa. Sharciyada ballaaran way fudud yihiin in la qoro oo ku dhowaad aan macquul ahayn in dib loo hanti-dhawro.
Waxa weli ka baxsada ka-reexanka
Xallinta magacyada waxay ka iman kartaa hab resolver gooni ah oo ku jira cgroup kale, sidaas darteed kala-saaridda socket-ka browser-ka ma kala saarto raadintiisa. Haddii su'aalaha resolver-ku ku sii jiraan tunnel-ka halka xiriirku ka baxo dibaddiisa, jawaabaha split-horizon ma waafaqsanaan karaan dariiqa. Is-waafajin la'aantaas waxay dhalisaa cillado u eg bugagga DNS oo aan ahayn.
Hababka badankood carruurta hababka ayaa dhaxla cgroup, laakiin kaaliyaha isku rara scope u gaar ah ma dhaxlo. Hubi halkii aad u malayn lahayd, gaar ahaan wax kasta oo dib isu fuliya.
Ugu dambayntii, go'aanso waxa dhici doona marka tunnel-ku hoos yimaado. Ka-reexan si aamusan u noqda bypass buuxa waa mawqif amni oo ka duwan kan ku xirma marka uu fashilmo, oo midkood oo keliya ayaa ah wixii aad ula jeeday.