Portál AbcLinuxu, 6. května 2025 14:19

Dotaz: Iptables: NOTRACK na INPUTu?

6.12.2016 02:23 Harvie.CZ
Iptables: NOTRACK na INPUTu?
Přečteno: 535×
Odpovědět | Admin
Ahoj, mám router a na něm mám stavovej firewall na lokální služby.

to ale způsobuje, že se plní conntrack tabulka informacema o tranzitních spojeních, který mě vůbec nezajímaj. narůstají pak latence. aby se to vyřešilo, tak mám ve firewallu zhruba tohle:
# Vypnuti conntrack tabulky na prochazejici pakety
*raw
:PREROUTING ACCEPT [0:0]
-A PREROUTING -d 10.0.0.1/32 -j ACCEPT
-A PREROUTING -j CT --notrack
COMMIT
To je sice funkční, ale vůbec se mi to nelíbí. Ten stroj má stovky vlanů a na každym jinou adresu. Musím je teda mít všechny vyjmenovaný jako ACCEPT, aby nespadly do NOTRACKu. To mi připadá hloupý a nepřehledný.

Nedá se prostě nějak vypnout conntrack pro FORWARD, aniž by se tím vypnul pro INPUT? Pro OUTPUT se to dá nastavovat zvlášť, pro INPUT jsem to ale bohužel zatím nevyřešil. A tak všechny příchozí packety zkončí v conntracku ať už směřují do FORWARDu nebo do INPUTU.
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.12.2016 02:36 Harvie.CZ
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
jeste by teda pomohlo, kdyby existovalo naky makro v tomhle stylu:

-A PREROUTING -d LOCAL -j ACCEPT

kde by "-d LOCAL" matchovalo vsechny packety co maj v dst nekterou z adres, ktery jsou na lokalnich interfacech.
17.12.2016 15:29 Harvie.CZ
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
Skutecne nakonec pomohl modul addrtype:
-A PREROUTING -m addrtype --src-type LOCAL -j ACCEPT
-A PREROUTING -m addrtype --dst-type LOCAL -j ACCEPT
pavlix avatar 17.12.2016 15:50 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
To je jen test na 127.0.0.0/24, ne? Jestli tohle pokrývá tvůj problém, tak ideál. Místo src-type by mělo jít teoreticky testovat i in-interface.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
17.12.2016 17:26 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
Ne, skutečně to testuje, jestli je to (nějaká) lokální adresa, pokud nepoužije --limit-iface-in nebo --limit-iface-out. Ale znamená to route lookup pro každý paket, což na stroji s takovým množstvím adres nemusí být moc efektivní (ale samozřejmě pořád mnohem efektivnější než chain se stovkami pravidel).
pavlix avatar 17.12.2016 17:50 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
A to je zdokumentováno jenom ve zdrojácích nebo jsem prostě jenom nenašel ten správný zdroj?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
17.12.2016 20:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?

Manuálová stránka iptables-extensions(8) je dost neurčitá:

This module matches packets based on their address type. Address types are used within the kernel networking stack and categorize addresses into various groups. The exact definition of that group depends on the specific layer three protocol.

LOCAL a local address

To je skutečně dost nejednoznačné. Při troše fantazie se to, že jde o route lookup, dá uhodnout z toho, že další možné hodnoty jsou UNICAST, MULTICAST, BROADCAST, ANYCAST, BLACKHOLE, UNREACHABLE, PROHIBIT, THROW, NAT a XRESOLVE (poslední tři zcela bez popisu). Ale stejně jsem se radši podíval do zdrojáku, abych si byl jistý.

pavlix avatar 17.12.2016 21:47 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
Právě. :)
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
17.12.2016 17:18 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?

Přesně k tomuhle slouží ipset:

  ipset create myaddr hash:ip
  ipset add myaddr 10.0.0.1
  ... (další stovky řádků s ostatními adresami)
  iptables -A PREROUTING -m set --match-set myaddr dst -j ACCEPT

Pokud se všechny ty adresy vejdou do jednoho /16 rozsahu, bude efektivnější použít (např.)

  ipset create myaddr bitmap:ip range 10.0.0.0/16
pavlix avatar 17.12.2016 15:44 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Iptables: NOTRACK na INPUTu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zjistit, co přišlo přes INPUT a co ne půjde minimálně markováním. Markování vůbec řeší strašnou spoustu podobných věcí.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

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.