Yin alamar zirga-zirga daga cgroup ɗaya shine ɓangare mai sauƙi. Dole uku shawarwari daban-daban su daidaita kafin wata manhaja ɗaya ta fita ta hanyar haɗin jiki yayin da duk sauran suka kasance a cikin rami: wace socket ce ta keɓancewar, wace binciken hanya alamar ke tayarwa, da wace adireshin tushe fakiti ke ɗauka lokacin da yake fita. Mafi yawan ƙoƙarin da suka kasa suna samun na farko daidai, suna samun na biyu rabi, kuma ba sa taɓa kallon na uku.

Shawarwari uku, ba ɗaya ba

Rarraba na amsa wanene ke da keɓancewa. Hanya na amsa inda fakiti mai alamar zai tafi maimakon haka. Zaɓin tushe na amsa abin da ƙarshen nesa zai gani da inda amsar za ta dawo.

Waɗannan suna kasawa daban-daban. Ana iya rarraba fakiti, a sake tura shi zuwa haɗin jiki, kuma har yanzu yana ɗauke da adireshin sirri wanda babu wani na'urar hanya ta sama da zai iya mayarwa, abin da ke haifar da ƙarewar lokaci wanda yake kama da toshewar wutar bango daidai. Babu abin da ke cikin matakin rarraba da zai faɗakar da kai game da hakan. Babu kuma a matakin hanya.

Tsari ma yana da muhimmanci. Rarraba na faruwa lokacin da aka ƙirƙiri fakiti, hanya na faruwa bayan haka, kuma fassara na faruwa a wurin fita.

Idan ba za ka iya ambaton wanne daga matakai uku ya lalace ba, ba gyara kuskure kake yi ba, kana sake tsara dokoki ne da bege.

Daidaita cgroup wanda zai wanzu gobe ma

nftables na iya gwajin kasancewar socket a cgroup v2, wanda ke da amfani ƙwarai domin yana bin tsari maimakon manufa. Ƙullin shine mai ganowa. Manhajar tebur da aka buɗe daga menu tana yawan zama a cikin scope na wucin gadi wanda sunansa ke canzawa a buɗe na gaba.

nft list ruleset
systemctl status session.slice 2>/dev/null
cat /proc/self/cgroup

Kwafin sunan scope daga zama ɗaya da kuma saka shi da ƙarfi na haifar da doka da ke aiki yau kuma a gobe ta daina daidaitawa a shiru. A maimakon haka saka manhajar a cikin yanayin aiwatarwa mai ƙarfi da aka yi da gangan, kamar scope ko unit na musamman da kake sarrafawa, ka kuma daidaita da shi. Sannan dokar na jure sake buɗewa da sabunta fakiti. Hakanan tana zama abin da abokin aiki zai iya yin tunani akai ba tare da tarihin zamanka ba.

Ka kuma kasance daidai game da wace hanyar kake amfani da ita. Rarraba net_cls a cgroup v1 da daidaitawar socket a cgroup v2 abubuwa ne daban, kuma fili mai irin wannan suna a takardu ba ya sa su musanya.

Sarƙa ce ta nau'in route ke tayar da bincike na biyu

Ga zirga-zirgar da aka ƙirƙira a gida, nau'in sarƙa ne ke yanke shawarar ko wani abu zai faru bayan an saka alamar. Sarƙar fita ta nau'in filter na iya yin alama a fakiti kuma kernel zai ci gaba da amfani da hanyar da ya riga ya zaɓa. Sarƙa ta nau'in route ita ce hanyar da ke neman sabon bincike.

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 200

Sannan alamar tana buƙatar dokar manufa da ke tura ta zuwa tebur, kuma wannan tebur dole ya zama cikakke: hanyar da aka saba, duk wuraren da manhajar ke buƙata har yanzu, da ƙofar sama da ke amsa da gaske.

Zaɓi darajar alamar da gangan. WireGuard na amfani da fwmark ɗinsa don zirga-zirgar jigila ta waje, kuma faɗuwa kan wannan lambar da bazata na iya tsoma baki cikin keɓancewar hanyar ramin kanta ta hanyoyin da ke da wahalar ganowa.

Adireshin tushe ba ya bin hanya

Socket da ya riga ya zaɓi adireshin tushe don hanyar rami na riƙe wannan adireshin bayan sake turawa. Babu abin da ke cikin canjin hanya da ke sake rubuta shi, shi ya sa fakiti ke barin haɗin jiki da tushe na sirri wanda cibiyar sadarwa ta sama ba za ta iya mayarwa ba.

Alamar da ake gani ita ce manhaja da ake gani kamar tana aika bayanai kuma ba ta taɓa samun amsa, da kuma rikodin wutar bango wanda ba ya nuna komai domin fakiti bai taɓa dawowa ba.

Ƙaramin gyara shine dokar fassarar tushe da aka iyakance ga alamar wannan manhaja da ainihin haɗin fitarta, an haɗa ta da NAT ɗin da ke akwai maimakon maye gurbinsa:

table inet bypass {
  chain postrouting {
    type nat hook postrouting priority srcnat; policy accept;
    meta mark 0x1 oifname "wlan0" masquerade
  }
}

Fassara keɓancewar kuma ba wani abu ba. Dokar masquerade gama gari na gyara alamar kuma tana lalata ikonka na faɗin wace zirga-zirga ta bi wace hanya. Daidaita da alamar, ainihin haɗin fita da, idan za ka iya, adireshin manhajar kanta. Dokoki masu faɗi suna da sauƙin rubutu kuma kusan ba za a iya duba su daga baya ba.

Abin da har yanzu ke tserewa daga keɓancewar

Warware suna na iya zuwa daga wani tsarin resolver daban a cikin wani cgroup, don haka rarraba socket ɗin mai bincike ba ya rarraba tambayoyinsa. Idan tambayoyin resolver sun kasance a cikin rami yayin da haɗin ke fita waje da shi, amsoshin split-horizon na iya rashin daidaita da hanyar. Wannan rashin daidaito na haifar da gazawa da ke kama da kurakuran DNS amma ba su ba.

Tsarukan yara suna gado cgroup a yawancin tsari, amma mataimaki da ke motsa kansa zuwa nasa scope ba ya gado. A duba maimakon ɗauka, musamman ga duk abin da ke sake aiwatar da kansa.

A ƙarshe, yanke shawara abin da ya kamata ya faru lokacin da ramin ya faɗi. Keɓancewar da ke juya a shiru zuwa cikakkiyar kaucewa wani matsayi ne na tsaro daban da wanda ke kasawa a rufe, kuma ɗaya ne kawai daga cikinsu abin da kake nufi.

Labarai masu alaƙa