Portál AbcLinuxu, 10. května 2025 07:03

Dotaz: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all

23.11.2014 14:57 Peter
CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Přečteno: 290×
Odpovědět | Admin
Dobrý deň vám prajem.

V CentOS 5/6 je v sysctl.conf net.ipv4.conf.default.rp_filter = 1 default od inštalácie (pravdupovediac, jediné čo som v sysctl.conf po inštalácii zmenil bol ip_forward=1).

Tým pádom:
cat /proc/sys/net/ipv4/conf/default/rp_filter ukazuje 1
takisto aj každý interface ukazuje 1, ale:
cat /proc/sys/net/ipv4/conf/all/rp_filter ukazuje 0
Niektoré návody čo som čítal ale doporučujú v sysctl.conf nastaviť 1 pre rp_filter jak pre default, tak aj pre all. Je to teda fakt potrebné? O čom je vlastne to "all"?

Vopred vám veľmi pekne dakujem za objasnenie.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.11.2014 15:14 Peter
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zabudol som dodat, ze viem, ze zmena v default je len pre nove interface a all zmeni vsetko, ale ide mi o to, ze neviem ako sa to sprava pri starte OS, cize ci je potrebne v /etc/sysctl.conf okrem default definovat aj all. A nasledne ako sa to sprava v beziacom OS ked urobim /etc/init.d/network restart.
23.11.2014 18:50 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Odpovědět | | Sbalit | Link | Blokovat | Admin

Záleží na tom, čeho přesně chcete docílit. Hodnota "default" se použije pro nově přidaná rozhraní. Pro pakety přicházející na určité rozhraní se pak použije maximum z "all" a hodnoty toho rozhraní.

Osobně RP filter považuji za historický omyl, který ve většině případů ničemu nepomáhá a občas navíc i škodí.

23.11.2014 19:37 Peter
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Záleží na tom, čeho přesně chcete docílit.
Proste aby to fungovalo hned po štarte OS
Pro pakety přicházející na určité rozhraní se pak použije maximum z "all" a hodnoty toho rozhraní.
No a toto voľajako nechápem - dá sa to rozviesť obšírnejšie?
Osobně RP filter považuji za historický omyl
Dalo by sa aj toto rozviesť? Dakujem velmi pekne za ochotu.
23.11.2014 19:45 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Proste aby to fungovalo hned po štarte OS

To ale záleží na tom, co má být to "to".

No a toto voľajako nechápem - dá sa to rozviesť obšírnejšie?

Když přijde paket např. na eth0, aplikuje se vyšší z hodnot

  /proc/sys/net/ipv4/conf/all/rp_filter
  /proc/sys/net/ipv4/conf/eth0/rp_filter
Dalo by sa aj toto rozviesť?

Tu trochu užitku, co RP filter může poskytknout, snadno obstará netfilter, u kterého máte lepší možnosti konfigurovace, jak se má přesně chovat. A jakmile máte jakoukoli konfiguraci, kde mohou pakety legitimně přicházet na jiné rozhraní, než přes které byste poslal odpověď, RP filter je potřeba vypnout. Problém je v tom, že není vždy na první pohled vidět, že takovou konfiguraci máte. Druhý problém je v tom, že si nemusíte být ani vědom toho, že ho máte zapnutý, protože to tak má distribuce jako default.

23.11.2014 20:46 Peter
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
A jakmile máte jakoukoli konfiguraci, kde mohou pakety legitimně přicházet na jiné rozhraní, než přes které byste poslal odpověď, RP filter je potřeba vypnout.
No to mi bolo od začiatku jasné načo to je a kedy to treba vypnúť.
Druhý problém je v tom, že si nemusíte být ani vědom toho, že ho máte zapnutý, protože to tak má distribuce jako default.
No neviem, ale admin ktorý chce robiť práve to čo rp_filter blokuje by mal byť natoľko schopný, že bude nato myslieť.

Cize ak mám:
/proc/sys/net/ipv4/conf/all/rp_filter = 0
/proc/sys/net/ipv4/conf/eth0/rp_filter = 1
Tak ak to správne chápem, tak rp_filter je zapnutý?

Ešte raz, vrelá vdaka za pomoc.
23.11.2014 20:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all

Jen pro pakety přicházející na eth0.

No to mi bolo od začiatku jasné načo to je a kedy to treba vypnúť.

Ono to právě mnohdy není na první pohled jasné.

23.11.2014 21:17 Peter
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Jen pro pakety přicházející na eth0.
To bol len príklad. Reálne mám na dotyčnom serveri tieto rozhrania: eth0, eth1, lo, tun0. A pre všetky tieto rozhrania + default mám rp_filter=1 len v all je 0. Takže posledný krát len na utvrdenie a už dám pokoj - rp_filter je zapnutý?

Chápem to správne, že kedže v interface je 1 čo je väčšie ako 0 v all, tak platí tá jednička pre interface? Dakujem.
23.11.2014 21:54 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: CentOS 5/6 sysctl.conf rp_filter=1 - stačí default alebo musí byť aj all
Reálne mám na dotyčnom serveri tieto rozhrania: eth0, eth1, lo, tun0. A pre všetky tieto rozhrania + default mám rp_filter=1 len v all je 0. Takže posledný krát len na utvrdenie a už dám pokoj - rp_filter je zapnutý?

Pro ta rozhraní, kde jste ho zapnul.

Chápem to správne, že kedže v interface je 1 čo je väčšie ako 0 v all, tak platí tá jednička pre interface?

Ano. To je tak nějak podstata termínu maximum. Na druhou stranu, kdybyste měl u rozhraní jedničku (strict) a v "all" dvojku (loose) - nebo naopak - platila by dvojka (loose).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.