
У меня настроена маршрутизация:
# ip rule
0: from all lookup local
25555: from all fwmark 0x3000 lookup main
32766: from all lookup another
32767: from all lookup default
Я пытаюсь пометить выходные HTTP-запросы (например curl http://ifconfig.io/ip
, ) значением 0x3000, чтобы заставить работать 25555:
# iptables -A OUTPUT -t mangle -p tcp --dport 80 -j MARK --set-mark 0x3000
Но это не работает. Что я упускаю?
решение1
Оказывается, для того, чтобы код маршрутизации вообще активировал правило fwmark, необходим маршрут по умолчанию, в противном случае будет получено прямое сообщение «Сеть недоступна» без генерации пакета.
Я обошел это странное правило, добавив маршрут по умолчанию в конец списка правил:
ip route add default via 127.0.0.1 dev lo table 4222222222
ip rule add table 4222222222 priority 4294967295