Żżid regola għat-traffiku VPN fil-katina FORWARD, tħaddem it-talba mill-istess magna Linux, u l-kuntatur jibqa’ fuq iż-żero. Ir-regola x’aktarx hija korretta. Il-pakkett qatt ma ħa dak il-passaġġ, għax talba li tinħoloq fuq il-magna stess ma tiġix mgħoddija minnha. Li ssegwi l-ħajja tal-pakkett mis-socket sal-wajer jispjega għaliex, u fejn ir-regola għandha tkun minflok.

Sib fejn twieled il-pakkett

L-ordni tal-hooks ta’ Netfilter tifred tliet każijiet, u wieħed biss minnhom jinvolvi FORWARD:

OriginPathHook that sees it
Local processOUTPUT then POSTROUTINGOUTPUT, POSTROUTING
Addressed to a local servicePREROUTING then INPUTPREROUTING, INPUT
Received for another hostPREROUTING, FORWARD, POSTROUTINGFORWARD

Applikazzjoni lokali tibda fil-passaġġ OUTPUT, għax il-kernel diġà stabbilixxa li l-pakkett joħroġ minn hawn u qatt mhu kandidat għall-għoddi. Il-ħolqien ta’ tunnel ma jbiddilx dik il-klassifikazzjoni; it-tunnel huwa apparat li l-pakkett jista’ joħroġ minnu, mhux stadju li jibdel il-ħruġ lokali f’transitu.

Żewġ pakketti, storja waħda

Ladarba t-tunnel ikun fuq, il-pakkett intern tal-applikazzjoni u l-pakkett estern encrypted huma oġġetti differenti. Il-pakkett intern iġorr id-destinazzjoni u l-payload li għażlet l-app. Il-pakkett estern iġorr ciphertext lejn l-indirizz u l-port tal-peer, u huwa dak li fil-fatt jaqsam l-interface fiżika.

Il-politika tiegħek tikkonċerna wieħed minnhom, u li tagħżel dak ħażin hija raġuni komuni biex regola tidher li ma tagħmel xejn. Regola li taqbel mal-indirizz estern tal-peer tara kull pakkett tat-tunnel bl-istess mod, tkun x’tkun qed tagħmel l-app ġewwa. Regola li taqbel ma’ destinazzjoni interna tara t-traffiku li jimpurtak minnu, u tattiva biss jekk dak il-pakkett jasal għall-hook li fuqu installajt ir-regola.

In-namespaces iċaqilqu l-konfini

Container jagħmel dan iktar diffiċli mingħajr ma jbiddel il-prinċipju. It-talba tal-applikazzjoni hija ħruġ lokali ġewwa n-namespace tan-netwerk tal-container. Il-host jirċievi dak it-traffiku fuq interface Ethernet virtwali u jista’ jgħaddih, għalhekk regola FORWARD fuq il-host tista’ tkun sinifikanti anki jekk il-proċess li ġġenera t-talba qatt ma mess il-katina OUTPUT tal-host.

Qabel tagħżel hook, stabbilixxi fejn tassew jgħixu s-sett ta’ regoli u t-tunnel. Tunnel ġewwa l-container, tunnel fuq il-host bil-container routed minnu, u tunnel f’namespace separat huma tliet topoloġiji differenti b’tliet postijiet differenti tar-regoli. Aqra r-regoli ġewwa n-namespace li jippossjedi l-apparat, mhux biss f’dak default.

Staqsi jekk għandekx bżonn marka xejn

Jekk l-għan hu li tintbagħat prefiss wieħed ta’ destinazzjoni mit-tunnel, rotta għal dak il-prefiss tista’ tkun biżżejjed. Iċċekkja l-ewwel ir-rotot effettivi, inkluż kull ma ħeġġeġ is-server: rotta default ridiretta tibgħat ħafna iktar traffiku mill-VPN mill-politika dejqa li kellek f’moħħok, u l-ebda ammont ta’ markar ma jagħmel ir-riżultat jaqbel mal-intenzjoni.

Il-klassifikazzjoni hija meħtieġa meta d-deċiżjoni tiddependi minn xi ħaġa li rotta ma tistax tesprimi, bħas-sors, l-utent jew il-proċess. Għat-traffiku riċevut, il-markar fi PREROUTING jaħdem. Għat-traffiku lokali, il-markar irid iseħħ fi stadju tal-ħruġ li jista’ jqanqal tfittxija ġdida tar-rotta wara li titqiegħed il-marka. B’nftables dan huwa katina tat-tip route fuq il-hook tal-ħruġ; katina ordinarja tal-filtru tal-ħruġ se tqiegħed il-valur u tħalli r-rotta bla tibdil.

B’iptables, l-ekwivalenti jgħix fl-arranġament mangle OUTPUT, u tgħodd l-istess ħtieġa: id-deċiżjoni tal-routing trid terġa’ tiġi riveduta wara li tkun teżisti l-marka. Imbagħad regola tal-politika trid tikkonsma l-marka u tipponta lejn tabella li jkun fiha rotta użabbli. Li tqiegħed marka conntrack hija t-tielet operazzjoni, separata; taħżen valur fuq il-flow u ma tqegħedx waħedha dak il-valur fuq il-pakkett attwali biex il-routing jaqrah.

Ivverifika t-tfittxija u l-kuntatur flimkien

nft list ruleset
ip route get 198.51.100.25
ip route get 198.51.100.25 mark 0x1

L-indirizz u l-marka huma illustrattivi, u ż-żewġ mistoqsijiet tar-rotta jwieġbu mistoqsijiet differenti. It-tieni jistaqsi x’kien jagħmel il-kernel li kieku pakkett kien iġorr dik il-marka; ma jurix li s-sett ta’ regoli tiegħek jagħti waħda. Ittrattah bħala test ta’ ipoteżi, mhux bħala prova li l-politika taħdem.

Imbagħad ħaddem talba bla ħsara u osservah żewġ affarijiet f’daqqa: il-kuntatur fuq il-hook li għażilt, u l-ħruġ li l-pakkett fil-fatt ħa. Jekk il-kuntatur jiċċaqlaq u l-pakkett joħroġ x’imkien ieħor, il-marka jew it-tabella hija ħażina. Jekk ebda waħda ma tiċċaqlaq, il-pakkett ma jasal xejn għal dak il-hook, u l-mistoqsija li jmiss hija n-namespace jew il-passaġġ.

Fl-aħħar, illimita t-test għal dak li l-mekkaniżmu jista’ jesprimi. Rotta waħda għal indirizz wieħed ma ssirx politika permanenti għal servizz li l-indirizzi tiegħu jduru. Iddeċiedi l-ewwel l-ambitu tal-pakketti, imbagħad iċċekkja jekk id-disinn tal-routing u tal-markar jistax iżomm dak l-ambitu wara konnessjoni mill-ġdid.

Artikli relatati