Na'urorin kama-da-wane biyu a kan host ɗaya suna isa LAN ta hanyar gada, kuma wata ƙa'ida da aka saka a sarkar ip forward tana nuna ma'auni da ba ya motsi. Firam ɗin gaskiya ne, zirga-zirgar tana wucewa, kuma ƙa'idar ba ta kan hanyarsa kawai. Kwatanta hanyoyi biyu da Linux ke bayyana zirga-zirgar gada yana bayanin wannan shiru, kuma yana bayanin me ya sa lodin wani tsohon module ya fi muni fiye da yadda ake gani.

Hanyoyi biyu ta cikin host ɗaya

Fakiti na iya barin wannan host ta hanyoyi biyu mabambanta sosai, kuma bambancin shi ne ke tantance waɗanne ƙugiyoyi za su gan shi. Idan makoma ta bayan tashar jiki ce kuma ana musanya firam tsakanin tashoshin gada biyu, host ɗin yana tura firam ɗin Ethernet; ba a tuntuɓi lambar hanyar ba, kuma babu wani tsalle da aka yi hanyar. Idan makoma ita ce host ɗin kanta, ko cibiyar sadarwa da ake samu ta hanyar mashigar tunnel, ana bin fakiti hanyar kuma ƙugiyoyin matakin IP suna aiki da gaske. Ka riƙe wannan rarrabuwar a zuciya, domin kowace tambaya daga baya game da sarkoki da dangi ta biyo daga wace hanya cikin biyun firam ɗin ya ɗauka.

Wannan bambanci shi ne dukan labarin da ke bayan ƙa'idar da ba ta ƙidaya kome ba. Firam ɗin gada daga veth9a1 zuwa enp3s0 yana ƙetare gada, ba tarin IP ba, don haka sarkar ip forward ba ta ganin abin da za ta daidaita. Sunayen mashiga a wani tsohon misali ba sa tantance wace hanya kake da ita, wanda shi ya sa mataki na farko shi ne duba tsarin ginin maimakon jerin ƙa'idoji.

Tunnel yana ƙara wani yanayi na uku da ya cancanci suna. Na'urar TUN tana ba da fakiti IP ga host ɗin, don haka ana bin su hanyar kuma suna wucewa ta sarkokin IP, yayin da na'urar TAP da aka haɗa da gada tana ba da firam ɗin kuma tana zama kamar yanayin gada. Nau'in na'urar, ba sunan samfurin ba, shi ne ke tantancewa.

Kwatanta dangi biyu da za su iya ganin firam ɗin gada

Linux yana goyon bayan tacewar gada ta asali ta hanyar dangin bridge na nftables, kuma ba ya buƙatar wani tsohon module don duba da jefar da firam a cikin tafiya. Takardun gada na kwaya kanta suna ba da wannan shawarar kai tsaye, abin da ya cancanci sani kafin sakamakon bincike ya gaya maka ka loda module.

Observation pointWhat it seesWhat it costs
nftables bridge family chainsEthernet frames forwarded between bridge ports, in both directionsRules must be written in bridge syntax with link-layer matches
Legacy br_netfilter plus an ip chainBridged IPv4 and IPv6 packets, re-exposed through IP-layer hooksExisting host rules may begin matching traffic they never saw before
inet chain for routed trafficPackets the host routes, including traffic arriving from a TUN deviceNo visibility into purely switched frames

Yin amfani da umarnin nft maimakon iptables ba ya sanya ƙa'ida a cikin dangin da ya dace da kansa. Sarkar da aka ayyana a dangin bridge tana ganin firam; sarkar da aka ayyana a ip, ip6 ko inet ba ta ganin su, ko wane binary ne ya ƙirƙira ta. Dangin siffa ne na sarkar, ba na kayan aikin da ya buga ta ba.

Tsohuwar hanya tana aiki dabam, kuma shi ne dalilin yin kwatance maimakon zaɓin gefe bisa al'ada. Loda br_netfilter da kunna saitin bridge-nf-call yana sake bayyana zirga-zirgar IPv4 da IPv6 ta gada ta ƙugiyoyin matakin IP, ta yadda wata talakawa ƙa'idar iptables za ta iya daidaita ta daga ƙarshe. Firam ɗin ba sa canzawa; saitin ƙugiyoyin da suke bi ya canzawa, wanda ke nufin kowace ƙa'idar host da take akwai tana da sababbin masu saurare yanzu.

Karanta hanyar da take aiki kafin ƙara ƙa'ida

Umarni uku suna tabbatar da inda kake: abin da gada ke haɗe da shi, ko tsohon module yana aiki, da waɗanne sarkoki suka riga suka wanzu a dangin bridge. Gudanar da su kafin ka rubuta kome, domin amsar ita ce ke tantance wace daga cikin tsare-tsare biyun kake faɗaɗawa. Tsallake wannan matakin shi ne yadda ingantacciyar ƙa'ida ke ƙarshe a cikin sarkar da babu abin da ke wucewa.

bridge link show
lsmod | grep br_netfilter
nft list ruleset | grep -A4 "chain forward"

Fitowar tana raba al'amuran dalla-dalla. Tashoshin da aka jera ƙarƙashin gada suna gaya maka waɗanne mashigai ake musanya; sakamakon lsmod mara komai yana nufin babu wata ganuwa a matakin IP na firam ɗin gada; sarkar forward ta dangin bridge da take akwai tana nufin mai manufa ya riga ya wanzu kuma ƙa'idarka ta can ne ba a sabuwar sarkar da ta kanta ba.

Sannan ƙara ƙa'ida ɗaya da ke sauƙin karantawa baya, tare da ma'auni kuma ba tare da canza hukunci ba, sannan ka aika wani wakilci guda ɗaya ta gada. Ma'aunin da ke motsi yana tabbatar da firam ɗin ya isa ƙa'idar. Shi ke nan abin da yake tabbatarwa, don haka bi shi da hanyar da aka hana ma, tunda manufar da ke karɓar kome ita ma tana samar da ma'auni mai motsi.

nft add rule bridge filter forward iifname "veth9a1" oifname "enp3s0" counter accept

Inda tsohon module ke canza ɗabi'a

Kunna tsohuwar hanya a kan gada mai aiki ba aiki ne na tsaka-tsaki na ƙara ganuwa ba. Ƙa'idojin da a da ba su isa ga zirga-zirgar gada ba suna isa yanzu, ciki har da ƙa'idojin host da aka rubuta don wata mashiga, kuma manufar drop ta asali a sarkar ip forward na iya ba zato ba tsammani ta shafi firam ɗin da a da suke wucewa ba tare da an taɓa su ba. A kan host da ake sarrafawa ta wannan gada, sakamakon shi ne kullewa ba tare da console ba. Wannan ba yanayin gazawa na hasashe ba ne; sakamakon al'ada ne na faɗaɗa saitin ƙugiyoyi a kan na'urar da kake isa ta hanyar da ka riga ka faɗaɗa.

Mafi aminci tsari shi ne ka yanke shawara wane dangi ne ya mallaki manufar, ka rubuta ƙa'idojin a can, kuma ka riƙe hanyar dawo da kai mai zaman kanta kafin ka canza kowane sysctl. Idan dangi biyu suna riƙe da ƙa'idoji, rubuta wanda ke da iko; manufofi biyu masu haɗuwa su ne yadda ake karɓar fakiti a wuri ɗaya a jefar da shi a wani wuri ba tare da fayil ɗaya da za a karanta ba.

Keɓewa da kanta tana buƙatar cikakken tsari har yanzu. Ba da izinin tushe ɗaya zuwa makoma ɗaya yana tabbatar da cewa hanya ɗaya tana aiki kawai, alhali buƙatar yawanci ita ce VM ba za ta iya isa ga maƙwabtanta ko host ɗin ba. Ma'aunai a kan ƙa'idojin ƙi sun fi muhimmanci fiye da ma'aunin kan ƙa'idar karɓa, domin ma'aunin karɓa shi ne wanda ka riga ka yi tsammanin zai motsa.

A ƙarshe, ka raba yanayin shigar host ɗin daban. Zirga-zirgar da aka nufa zuwa IP ɗin gadan kanta tana zuwa input, ba forward ba, kuma ƙa'ida a cikin forward ba za ta taɓa ganin ta ba, ko wane dangi ka zaɓa. Yanayi uku, dangi biyu, darasi ɗaya: hanya ce ke tantance ƙugiya, kuma ƙugiya ce ke tantance ko ƙa'idarka tana wanzuwa kwata-kwata.

Labarai masu alaƙa