Cén fáth nach bhfeiceann do riail iptables trácht VPN droichid riamh
Is féidir le frámaí droichid an slabhra IP a bhfuil tú ag breathnú air a sheachaint. Déan comparáid idir an teaghlach bridge dúchais agus an br_netfilter seanréiteach sula gcuireann tú riail eile leis.
Sroicheann dhá mheaisín fhíorúla ar an óstach céanna an LAN trí dhroichead, agus taispeánann riail atá curtha sa slabhra ip forward áiritheoir nach mbogann riamh. Tá na frámaí fíor, tá an trácht ag dul thart, agus níl an riail ar a chonair ar chor ar bith. Míníonn comparáid idir an dá bhealach a nochtann Linux trácht droichid an ciúnas sin, agus míníonn sé freisin cén fáth gur freagra níos measa é modúl seanréiteach amháin a lódáil ná mar a fheictear.
Dhá chonair trí aon óstach amháin
Is féidir le paicéad an t-óstach seo a fhágáil ar dhá bhealach an-difriúla, agus socraíonn an difríocht cé na crúcaí a fheicfidh é. Má tá an ceann scríbe thar phort fisiceach agus an fráma á aistriú idir dhá phort den droichead, seolann an t-óstach fráma Ethernet ar aghaidh; ní cheistítear an cód ródaithe, agus ní tharlaíonn aon léim ródaithe. Má tá an ceann scríbe ar an óstach féin, nó ar líonra a shroichtear trí chomhéadan tolláin, ródtar an paicéad agus bíonn feidhm ag crúcaí na ciseal IP. Coinnigh an gabhal sin i gcuimhne, mar tagann gach ceist níos déanaí faoi shlabhraí agus faoi theaghlaigh ón gconair a thógann fráma.
Is é an t-idirdhealú sin an scéal iomlán taobh thiar de riail nach n-áiríonn aon rud. Téann fráma droichid ó veth9a1 go enp3s0 trasna an droichid, ní trasna an chruach IP, mar sin ní fheiceann slabhra ip forward aon rud le meaitseáil. Ní shocraíonn ainmneacha comhéadain i sampla níos sine cén chonair atá agat, agus sin an fáth gurb é an chéad chéim féachaint ar an topolaíocht seachas ar an tsraith rialacha.
Cuireann tollán an tríú cás leis ar fiú a ainmniú. Seachadann gléas TUN paicéid IP don óstach, mar sin ródtar iad agus téann siad trí shlabhraí IP i ndáiríre, agus seachadann gléas TAP atá ceangailte le droichead frámaí agus iompraíonn sé mar an cás droichid. Is é cineál an ghléis, ní ainm an táirge, a shocraíonn.
Déan comparáid idir an dá theaghlach a fheiceann fráma droichid
Tacaíonn Linux le scagadh droichid dúchais trí theaghlach bridge nftables, agus ní gá aon mhodúl seanréiteach chun frámaí a scrúdú agus a scaoileadh le linn eitilte. Déanann doiciméadú droichid an eithne féin an mholadh sin go díreach, rud is fiú a bheith ar eolas sula n-insíonn toradh cuardaigh duit modúl a lódáil.
| 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 |
Ní chuireann úsáid an ordaithe nft in ionad iptables riail sa teaghlach ceart ann féin. Feiceann slabhra a dhearbhaítear i dteaghlach bridge frámaí; ní fheiceann slabhra a dhearbhaítear in ip, ip6 nó inet iad, is cuma cén dénártha a chruthaigh é. Is airí den slabhra é an teaghlach, ní de an uirlis a chlóscríobh.
Oibríonn an tseanchonair ar bhealach difriúil, agus sin an fáth ar cheart comparáid a dhéanamh seachas taobh a roghnú de ghnáth. Nuair a lódáiltear br_netfilter agus a gcuirtear socruithe bridge-nf-call ar siúl, nochtar trácht IPv4 agus IPv6 droichid arís trí chrúcaí na ciseal IP, ionas gur féidir le gnáthriail iptables meaitseáil leis faoi dheireadh. Ní athraíonn na frámaí; athraíonn an tsraith crúcaí a dtéann siad tríthi, rud a chiallaíonn go bhfuil lucht féachana nua ag gach riail óstaigh atá ann cheana.
Léigh an chonair éifeachtach sula gcuireann tú riail leis
Socraíonn trí ordú cá bhfuil tú: cad a bhfuil an droichead ceangailte leis, an bhfuil an modúl seanréiteach gníomhach, agus cé na slabhraí atá sa teaghlach bridge cheana. Rith iad sula scríobhann tú aon rud, mar socraíonn an freagra cé acu den dá dhearadh atá á leathnú agat. Is é an chéim seo a scipeáil an bealach a dtéann riail cheart isteach i slabhra nach dtéann aon rud tríd.
bridge link show
lsmod | grep br_netfilter
nft list ruleset | grep -A4 "chain forward"
Dealaíonn an t-aschur na cásanna go glan. Insíonn na poirt atá liostaithe faoin droichead duit cé na comhéadain atá á n-aistriú; ciallaíonn toradh folamh lsmod nach bhfuil aon fheiceálacht ag ciseal IP ar fhrámaí droichid; ciallaíonn slabhra forward atá ann cheana sa teaghlach bridge go bhfuil úinéir beartais ann cheana agus gur leis sin a bhaineann do riail seachas le slabhra nua dá chuid féin.
Ansin cuir riail amháin leis atá éasca le léamh ar ais, le háiritheoir agus gan an breithiúnas a athrú, agus seol sreabhadh ionadaíoch amháin tríd an droichead. Cruthaíonn áiritheoir a bhogann go raibh an fráma sroichte ag an riail. Sin a chruthaíonn sé ar fad, mar sin lean leis an gconair diúltaithe freisin, ós rud é go gcruthaíonn beartas a ghlacann le gach rud áiritheoir atá ag bogadh chomh maith.
nft add rule bridge filter forward iifname "veth9a1" oifname "enp3s0" counter acceptCá n-athraíonn an modúl seanréiteach iompar
Ní gníomh neodrach é an tseanchonair a chur ar siúl ar dhroichead atá ag rith, agus feiceálacht á cur leis. Éiríonn rialacha a bhí doshroichte roimhe seo do thrácht droichid inrochtana, lena n-áirítear rialacha óstaigh a scríobhadh do chomhéadan eile, agus is féidir le beartas drop réamhshocraithe sa slabhra ip forward feidhm go tobann ar fhrámaí a théadh thart gan teagmháil roimhe seo. Ar óstach a ndéantar bainistíocht air tríd an droichead sin, is é an toradh glasáil amach gan consól. Ní mód teipe hipitéiseach é seo; is é an gnáth-iarmhairt é sraith crúcaí a leathnú ar mheaisín a shroicheann tú tríd an gconair a leathnaigh tú díreach.
Is é an t-ordú is sábháilte ná cinneadh a dhéanamh cé acu teaghlach a shealbhaíonn an beartas, na rialacha a scríobh ansin, agus conair athshlánaithe neamhspleách a choinneáil sula n-athraítear aon sysctl. Má choinníonn dhá theaghlach rialacha, déan doiciméadú ar cé acu atá údarásach; is é dhá bheartas atá ag forluí an bealach a nglactar le paicéad in aon áit amháin agus a scaoiltear in áit eile é gan aon chomhad amháin le léamh.
Teastaíonn dearadh iomlán ón leithlisiú féin fós. Ní chruthaíonn cead a thabhairt d'aon fhoinse go dtí aon cheann scríbe ach go n-oibríonn aon sreabhadh amháin, agus is é an riachtanas de ghnáth nach féidir le VM a chomharsana ná an t-óstach a shroichint. Is mó a bhaineann áiritheoirí ar na rialacha diúltaithe ná an t-áiritheoir ar an riail ghlactha, mar is é an t-áiritheoir glactha an ceann a raibh tú ag súil cheana go mbogfadh sé.
Ar deireadh, coinnigh cás ionchur an óstaigh ar leith. Sroicheann trácht atá dírithe ar IP féin an droichid ionchur, ní forward, agus ní fheicfidh riail in forward é riamh, cibé teaghlach a roghnaíonn tú. Trí chás, dhá theaghlach, ceacht amháin: socraíonn an chonair an crúca, agus socraíonn an crúca an bhfuil do riail ann ar chor ar bith.