Portál AbcLinuxu, 10. května 2025 05:25

Dotaz: iptables MARK a CONNMARK

11.12.2006 10:42 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
iptables MARK a CONNMARK
Přečteno: 1187×
Odpovědět | Admin
Ahoj,

(Ptal jsem už na fóru openwrt i na czfree, ale bez odpovědi.)

hraju s firewallem a buď to nechápu (což je pravděpodobnější a byl bych raději) nebo můj OpenWrt (Whiterussian RC5 na Linksys54GL) funguje divně.

Jenže mě --restore-mark obnovuje nějaké značky i když jsem ještě žádné neoznačil.

Jak to tedy funguje? Můžete mi někdo zkusit následující kód? Udělám reboot - čili všechny značky (mark) by měly být 0.

iptables -t mangle -N ret_only
iptables -t mangle -A ret_only                       -j RETURN

iptables -t mangle -N set_mark
iptables -t mangle -A set_mark                      -j CONNMARK --restore-mark
iptables -t mangle -A set_mark -m mark ! --mark 0   -j RETURN
iptables -t mangle -A set_mark -p tcp --dport 23    -j MARK     --set-mark 2
iptables -t mangle -A set_mark                      -j CONNMARK --save-mark

iptables -t mangle -A PREROUTING -p tcp  --dport 23 -j ret_only
iptables -t mangle -A PREROUTING                    -j set_mark
iptables -t mangle -A PREROUTING -m mark --mark 2   -j ret_only

Hned zkusím výpis iptables a vidím, že bylo rozpoznáno 77 packetů s nenulovým mark. Dále je vidět, že já jsem žádnou mou značku s hodnotou 0x2 nenastavil.

Chain PREROUTING (policy ACCEPT 904 packets, 292K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ret_only   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:23
  442  127K set_mark   all  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ret_only   all  --  *      *       0.0.0.0/0            0.0.0.0/0           MARK match 0x2

Chain set_mark (1 references)
 pkts bytes target     prot opt in     out     source               destination
  442  127K CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0           CONNMARK restore
   77 20664 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           MARK match !0x0
    0     0 MARK       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:23 MARK set 0x2
  365  106K CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0           CONNMARK save
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.12.2006 22:17 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
Rozbalit Rozbalit vše Re: iptables MARK a CONNMARK
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem zkusil novější verzi RC6 a vypadá to, že tam to funguje tak jak bych očekával.
14.12.2006 10:20 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
Rozbalit Rozbalit vše Re: iptables MARK a CONNMARK
Abych to ještě doplnil - k čemu je to dobré. Kromě jiného je to potřeba pro rozpoznávání p2p provozu pomocí modulu ipp2p. Takže malé varování, v RC5 vám to rozpoznávání p2p provozu nebude pořádně fungovat.

No tak jsem si sám se sebou pěkně pokecal ;-)

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.