Għaliex ir-regola tiegħek tal-iptables qatt ma tara traffiku VPN fuq pont
Il-qafas li jgħaddi minn pont jista' jaqbeż il-katina IP li qed tosserva. Qabbel il-familja bridge nattiva mal-br_netfilter antik qabel ma żżid regola oħra.
Żewġ magni virtwali fuq l-istess host jaslu fil-LAN permezz ta' pont, u regola mqiegħda fil-katina ip forward turi kontatur li qatt ma jiċċaqlaq. Il-qafas huma reali, it-traffiku għaddej, u ir-regola sempliċement mhijiex fit-triq tiegħu. It-tqabbil taż-żewġ modi kif Linux juri traffiku fuq pont jispjega dan is-skiet, u jispjega wkoll għaliex it-tagħbija ta' modulu antik waħdu hija tweġiba agħar milli tidher.
Żewġ toroq minn host wieħed
Pakett jista' jħalli dan il-host b'żewġ modi differenti ħafna, u d-differenza tiddetermina liema ganċijiet jarawh. Jekk id-destinazzjoni tinsab lil hinn minn port fiżiku u l-qafas jiġi kommwat bejn żewġ portijiet tal-pont, il-host jibgħat qafas Ethernet 'il quddiem; il-kodiċi tar-routing ma jiġix mistoqsi, u ma jseħħ l-ebda qabża routed. Jekk id-destinazzjoni hija l-host innifsu, jew netwerk li jintlaħaq permezz ta' interface tunnel, il-pakett jiġi routed u l-ganċijiet tas-saff IP verament japplikaw. Żomm dan id-diferq f'moħħok, għax kull mistoqsija aktar tard dwar ktajjen u familji ġejja minn liema miż-żewġ toroq jieħu l-qafas.
Dik id-differenza hija l-istorja kollha wara regola li ma tgħodd xejn. Qafas fuq pont minn veth9a1 għal enp3s0 jaqsam il-pont, mhux il-munzell IP, għalhekk katina ip forward ma tara xejn x'għandha tqabbel. L-ismijiet tal-interfaces f'eżempju eqdem ma jiddeterminawx liema triq għandek, u għalhekk l-ewwel pass huwa li tħares lejn it-topoloġija u mhux lejn is-sett ta' regoli.
Tunnel iżid it-tielet każ li jistħoqqlu isem. Tagħmir TUN jibgħat paketti IP lill-host, għalhekk dawn jiġu routed u verament jgħaddu minn ktajjen IP, filwaqt li tagħmir TAP imqabbad ma' pont jibgħat qafas u jġib ruħu bħall-każ tal-pont. It-tip tat-tagħmir, mhux l-isem tal-prodott, jiddeċiedi.
Qabbel iż-żewġ familji li jistgħu jaraw qafas fuq pont
Linux jappoġġja filtrazzjoni tal-pont nattiva permezz tal-familja bridge ta' nftables, u m'għandux bżonn ebda modulu antik biex jeżamina u jwaddab il-qafas waqt it-titjira. Id-dokumentazzjoni tal-pont tal-kernel stess tagħti dik ir-rakkomandazzjoni direttament, li jiswa li tkun taf qabel riżultat ta' tfittxija jgħidlek biex tgħabbi modulu.
| Observation point | What it sees | What it costs |
|---|---|---|
nftables bridge family chains | Ethernet frames forwarded between bridge ports, in both directions | Rules must be written in bridge syntax with link-layer matches |
Legacy br_netfilter plus an ip chain | Bridged IPv4 and IPv6 packets, re-exposed through IP-layer hooks | Existing host rules may begin matching traffic they never saw before |
inet chain for routed traffic | Packets the host routes, including traffic arriving from a TUN device | No visibility into purely switched frames |
L-użu tal-kmand nft minflok iptables ma jpoġġix, waħdu, regola fil-familja t-tajba. Katina ddikjarata fil-familja bridge tara l-qafas; katina ddikjarata f'ip, ip6 jew inet ma tarahomx, tkun liema binariu ħoloqha. Il-familja hija proprjetà tal-katina, mhux tal-għodda li kitbitha.
It-triq antika taħdem b'mod differenti, u għalhekk ta' min tqabbel minflok tagħżel naħa bil-vizzju. It-tagħbija ta' br_netfilter u l-attivazzjoni tas-settings bridge-nf-call terġa' tesponi traffiku IPv4 u IPv6 fuq pont permezz tal-ganċijiet tas-saff IP, sabiex regola ordinarja tal-iptables fl-aħħar tista' tqabbla miegħu. Il-qafas ma jinbidlux; jinbidel is-sett ta' ganċijiet li jgħaddu minnhom, li jfisser li kull regola tal-host eżistenti għandha issa udjenza ġdida.
Aqra t-triq effettiva qabel iżżid regola
Tliet kmandi jistabbilixxu fejn int: miegħu x'inhu mqabbad il-pont, jekk il-modulu antik huwiex attiv, u liema ktajjen diġà jeżistu fil-familja bridge. Ħaddimhom qabel tikteb xejn, għax it-tweġiba tiddetermina liema miż-żewġ disinni qed testendi. Li taqbeż dan il-pass huwa kif regola korretta tispiċċa fi katina li minnha ma jgħaddi xejn.
bridge link show
lsmod | grep br_netfilter
nft list ruleset | grep -A4 "chain forward"
L-output jifred il-każijiet b'mod nadif. Il-portijiet elenkati taħt il-pont jgħidulek liema interfaces qed jiġu kommwati; riżultat vojt ta' lsmod ifisser l-ebda viżibilità tas-saff IP tal-qafas fuq pont; katina forward eżistenti tal-familja bridge tfisser li sid il-politika diġà jeżisti u r-regola tiegħek tappartjeni hemm u mhux fi katina ġdida tagħha stess.
Imbagħad żid regola waħda li hija faċli biex terġa' tinqara, b'kontatur u mingħajr ma tibdel id-deċiżjoni, u bgħat fluss rappreżentattiv wieħed mill-pont. Kontatur li jiċċaqlaq jipprova li l-qafas wasal għar-regola. Dan huwa kollu li jipprova, għalhekk kompli bit-triq miċħuda wkoll, għax politika li taċċetta kollox tipproduċi wkoll kontatur li jiċċaqlaq.
nft add rule bridge filter forward iifname "veth9a1" oifname "enp3s0" counter acceptFejn il-modulu antik ibiddel l-imġieba
L-attivazzjoni tat-triq antika fuq pont li qed jaħdem mhijiex att newtrali ta' żieda ta' viżibilità. Regoli li qabel kienu unreachable għat-traffiku fuq pont isiru reachable, inklużi regoli tal-host miktuba għal interface oħra, u politika drop awtomatika fil-katina ip forward tista' f'daqqa tapplika għal qafas li qabel kienu jgħaddu bla ma jiġu mimsusa. Fuq host li jiġi amministrat permezz ta' dak il-pont, ir-riżultat huwa lockout bla console. Dan mhuwiex mod ta' falliment ipotetiku; din hija l-konsegwenza ordinarja tat-twessigħ ta' sett ta' ganċijiet fuq magna li tasal għaliha mit-triq li għadek kif wassalt.
Is-sekwenza aktar sigura hija li tiddeċiedi liema familja għandha l-politika, tikteb ir-regoli hemmhekk, u żżomm triq ta' rkupru indipendenti qabel ma tbiddel kwalunkwe sysctl. Jekk żewġ familji jżommu regoli, iddokumenta liema hija awtorevoli; żewġ politiki li jikkoinċidu huma kif pakett jiġi aċċettat f'post u mwaddab f'ieħor mingħajr ebda fajl wieħed x'wieħed jaqra.
L-iżolament innifsu għadu jeħtieġ disinn sħiħ. Li tippermetti sors wieħed għal destinazzjoni waħda jipprova biss li fluss wieħed jaħdem, filwaqt li r-rekwiżit normalment huwa li VM ma tkunx tista' tilħaq il-ġirien tagħha jew il-host. Il-kontaturi fuq ir-regoli ta' ċaħda jiswew aktar mill-kontatur fuq ir-regola ta' aċċettazzjoni, għax il-kontatur ta' aċċettazzjoni huwa dak li diġà kont qed tistenna li jiċċaqlaq.
Fl-aħħar, żomm il-każ tal-input tal-host separat. It-traffiku indirizzat għall-IP tal-pont stess jasal fl-input, mhux fil-forward, u regola fil-forward qatt ma tarah, tkun liema familja tagħżel. Tliet każijiet, żewġ familji, lezzjoni waħda: it-triq tiddeċiedi l-ganċ, u l-ganċ jiddeċiedi jekk ir-regola tiegħek teżistix xejn.