Účinkuje rp_filter i na příchozí pakety?

Účinkuje rp_filter i na příchozí pakety?
« kdy: 17. 05. 2023, 13:44:25 »
Pokud si dám přes sudo ip route add blackhole x.y.z.ž,  budou při zapnutém rp_filter blokovány i příchozí pakety? (dává smysl u UDP)
« Poslední změna: 17. 05. 2023, 18:12:46 od Petr Krčmář »


Blackhole na routeru slouží k tomu, abyste se rychle zbavil paketů s danou cílovou adresou. Takže se to typicky používá na routeru, kde se chcete zbavit některých paketů, které by normálně procházely dál. Takže se to aplikuje vždy na příchozí pakety (odchozí nejsou, protože ten paket skončí v černé díře místo toho, aby se z něj stal odchozí paket).

Na zařízení, které není routerem, byste to mohl použít pro filtraci odchozích paketů na danou IP adresu – ale v takovém případě dává mnohem větší smysl zastavit generování těch paketů. Takže použití by bylo asi v nějaké nouzové situaci, kdy by to začal generovat nějaký proces, který by zároveň dělal něco smysluplného a důležitého, takže byste ho nechtěl hned zastavit.

rp_filter s tím nijak nesouvisí, ale pokud vím, rp_filter se také aplikuje jenom na příchozí pakety.

Takže moc nerozumím tomu, na co se vlastně ptáte. Protože ip route blackhole a rp_filter spolu nijak nesouvisí (kromě toho, že blokují pakety), a hlavně se oba dva používají především (rp_filter výhradně) na příchozí pakety.

jjrsk

  • *****
  • 670
    • Zobrazit profil
Pokud si dám přes sudo ip route add blackhole x.y.z.ž,  budou při zapnutém rp_filter blokovány i příchozí pakety? (dává smysl u UDP)

rp_filter funguje jen na prichozi pakety

Tady to mas popsany https://www.howtouselinux.com/post/how-rp_filter-works-on-linux

Jinak receno, pokud ti dorazi paket, ktery neprojde pres rp, tak bude zahozen, kdyz projde, pokroci se k routingu a skonci pripadne v ty dire.

Re:Účinkuje rp_filter i na příchozí pakety?
« Odpověď #3 kdy: 17. 05. 2023, 19:08:17 »
 Možný byl dotaz špatně pochopen a určitě tomu nepomohlo odstranění blackhole z nadpisu.  blackhole a rp_filter byly nedílné podmínky.
 Chtěl jsem to napsat sáhodlouze, ale nakonec jsem sklouzl k zvýraznění "i" příchozích. Logicky - odchozích se to týká - to přímo je smysl routovací tabulky. Ta odpovídá na kam?.

Ale dobré bylo upozornění na rozlišení paketů originujících a forwardovaných(nebo jinak router v koncový člen). (i když to já v dotazu hážu do jednoho pytle)...

→→→

Čili můj dotaz, za předpokladu zapnutého rp_filtru (v případě že jde o router) a  záznamu v routovací tabulky blackhole x.y.z.ž:

Přijde-li na rp-filtrované rozhraní (pro ilustraci wan0) paket s danou zdrojovou adresou(xyzž=zdroj), je  zahozen? A liší se to nějak, když cíl paketu je přímo lokální a nebo v jiné síti(byl by forwardován, například z rp-WAN do LAN).

Tedy uplatní se kontrola rp_filtru, že src paketu, který přišel z wan0 , vychází na blackhole a to je velký  špatný protože to nesouhlasí 
 

dotaz  kde jen zaměním cílovou a zdrojovou adresu (xyzž=cíl) za cílovou považuju za bez předmětný- to přeci je podstata ip route blackhole, že pokud cíl paketu je  v blackhole, je zahozen


expert note: nevím jestli je podstatné, že blackhole technicky vzato je TYPE záznamu a ne VIA routovacího záznamu (ip route add help: ROUTE - NODE_SPEC atd)

a poznámku "dává smysl u UDP" beru zpět, dává to i smysl u TCP(příchozí spojení z WAN), ale u UDP je to viditelnější na pochopení
« Poslední změna: 17. 05. 2023, 19:16:03 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »

Re:Účinkuje rp_filter i na příchozí pakety?
« Odpověď #4 kdy: 17. 05. 2023, 20:06:55 »
Přijde-li na rp-filtrované rozhraní (pro ilustraci wan0) paket s danou zdrojovou adresou(xyzž=zdroj), je  zahozen?
To záleží na tom, zda IP adresa xyzž podle routovací tabulky je za jiným rozhraní, než jwan0. Takhle funguje rp_filter. Blackhole s tím nijak nesouvisí.

expert note: nevím jestli je podstatné, že blackhole technicky vzato je TYPE záznamu a ne VIA routovacího záznamu (ip route add help: ROUTE - NODE_SPEC atd)
Ano, je to podstatné. Nevím, proč jste si usmyslel, že by se blackhole mělo chovat jako rozhraní.


Fakticky x.y.z.ž nemůže za nějakým rozhraním, když je blackhole
Kód: [Vybrat]
pp@id:~ $ sudo ip r add 3.3.8.8 dev wan0
pp@id:~ $ sudo ip r add blackhole 3.3.8.8
RTNETLINK answers: File exists
pp@id:~ $ sudo ip r add blackhole 3.3.0.0
pp@id:~ $ sudo ip r add 3.3.0.0 dev wan0   
Totéž
RTNETLINK answers: File exists
(citace je vytržená z kontextu, patří tam i ta poznámka o  blackhole záznamu)

Jináč jde o globální internetovou adresu za norm.okolností  , jejíž flow by šlo přes wan0. Doufám, že už si rozumíme.


2.(podružný detail off topic)
 v čem je to podstatné, chová se to jako routa. Kváká to jako routa...

Re:Účinkuje rp_filter s blackhole routou i na příchozí pakety .
« Odpověď #6 kdy: 17. 05. 2023, 21:09:43 »
Jináč už jsem si to ověřil ten rp_filtr nepropustí neproforwarduje pakety dál, když ip  je v blackhole. (neověřil jsem to pro INPUT)

, byl to trochu pain, jelikož jsem za NATem, kam ani česká pošta nedoručí paket, takže jsem si musel wan1 vyrobit z tunelu. Na něm jsem měl rp filtr 0 a nastavení na 1 mi utlo komunikaci ještě bez blackholováním (zkoušel  jsem pracnější  variantu Forward - kdy vzdálený konec DNAToval ne na samotný router, ale na stroj v síti uvnitř) což koresponduje s variantou strict rp filter,. (Teď už sivysvětlení nepamatuju, věděl jsem to když jsem to ladil a náhle mi zamrzlo ssh(přes tunel) jakmile jsem dal rp_filtr 1)


Díky forward jsem viděl na routeru zda paket potenciálně projde vstupním i výstupním rozhranim.

S rp_filtrem off(0) byly forwardovany SYN pakety, zařízení v síti poslalo SYN+ACK(o blackhole nix neví), ale ty logicky  přes router neodešly přes blackhole.

ale musel jsem dát rp filter 2..


Což můj setup nerozbilo. Pak jsem mohl dát blackhole a viděl, že ani příchozí pakety nejsou forwardovány. Tudíž ani zařízení v interní síti ani nemělo na co odpovídat.




Taky mimojiné jsem jsem nemohl dávat ip r add blackhole do defaultní routovací tabulky ale to té patřící pro tunel.



Což mě přivádí k otázce, jak rp_filtr funguje v přítomnosti víc routovacích tabulek.... Resp paket se routuje podle právě jedné routovací tabulky?


Ještě , že jsem si zkopíroval text příspěvku a po přihlášení zkontroloval, že formulář se změnil na Nové téma...  >:(
« Poslední změna: 17. 05. 2023, 21:12:35 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »

Re:Účinkuje rp_filter i na příchozí pakety?
« Odpověď #7 kdy: 17. 05. 2023, 21:46:58 »
Ten odstavec o rp filtru s hodnotou 1 jsem zmotal. i když to s původním dotazem nesovisí.
Oprava.
Žádné přerušení ssh(router sám) , to jelo. Dál, Ale utlo se veškerý spojení z internetu portforwardované(zDNATové z veřejného kkonce tunelu ; ovšem nikoli zSNATované kvůli zachování IP) do vnitřní sítě.
Kód: [Vybrat]
martian source 192.168.1.39 from 48
.24.166.r, on dev tun2


Uplně přesně tomu nerozumím, protože inet provoz může přicházet z wlan0 ale i tun8

přestože routovaí tabulku mám
Kód: [Vybrat]
ip r s t tunelic
default via 10.22.8.2 dev tun2
10.22.8.0/24 via 10.22.8.2 dev tun2
192.168.1.0/24 via 192.168.1.250 dev eth0
ip r s
default via 192.5.1.11 dev wlan0
192.5.1.11 dev wlan0
192.168.1.0/24 dev eth0