Portál AbcLinuxu, 10. května 2025 05:25
(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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.