andycpp
15-01-2007, 18:20
Похоже, что ip rule не реагирует на fwmark (прошивка Олега)
Ввожу
iptables -t nat -A VSERVER -j DNAT -p tcp --dport 17 --to 10.0.0.100:17
iptables -t mangle -I PREROUTING 1 -j MARK --set-mark 8217 -p tcp -s 10.0.0.100 --sport 17
iptables -t mangle -I POSTROUTING 1 -j LOG -m mark --mark 8217 --log-prefix 'MARK 8217 '
В логе вижу строки на тему маркировки, когда 10.0.0.100 посылает пакет с 17 порта. Т.е. маркировка работает.
Далее ввожу следующее (192.168.1.1 - IP-адрес девайса, подключенного к vlan2)
ip route add 192.168.1.0/24 dev vlan2 table 82
ip route add 10.0.0.0/24 dev br0 table 82
ip route add default via 192.168.1.1 prio 82 table 82
ip rule add fwmark 8217 table 82 prio 82
По-идее, после этого ответ от 10.0.0.100 должен роутиться через 192.168.1.1, ан нет - всё равно пакет идёт через другой default gateway, который определён в main, хотя и приоритет у неё ниже...
$ ip rule list
0: from all lookup local
82: from all fwmark 8217 lookup 82
32766: from all lookup main
32767: from all lookup 253
Где косяк?
Ввожу
iptables -t nat -A VSERVER -j DNAT -p tcp --dport 17 --to 10.0.0.100:17
iptables -t mangle -I PREROUTING 1 -j MARK --set-mark 8217 -p tcp -s 10.0.0.100 --sport 17
iptables -t mangle -I POSTROUTING 1 -j LOG -m mark --mark 8217 --log-prefix 'MARK 8217 '
В логе вижу строки на тему маркировки, когда 10.0.0.100 посылает пакет с 17 порта. Т.е. маркировка работает.
Далее ввожу следующее (192.168.1.1 - IP-адрес девайса, подключенного к vlan2)
ip route add 192.168.1.0/24 dev vlan2 table 82
ip route add 10.0.0.0/24 dev br0 table 82
ip route add default via 192.168.1.1 prio 82 table 82
ip rule add fwmark 8217 table 82 prio 82
По-идее, после этого ответ от 10.0.0.100 должен роутиться через 192.168.1.1, ан нет - всё равно пакет идёт через другой default gateway, который определён в main, хотя и приоритет у неё ниже...
$ ip rule list
0: from all lookup local
82: from all fwmark 8217 lookup 82
32766: from all lookup main
32767: from all lookup 253
Где косяк?