在我的 OpenWrt 盒子里,我想将仅特定协议(tcp:1888)路由到仅一台 PC(192.168.28.2)的 tun 接口,因此我执行以下操作:
ip rule add from 192.168.28.2 dport 1888 lookup 123
ip route add default via 10.8.0.2 dev tun0 table 123
但确实如此不是工作!
当我使用 检查规则列表时ip rule
,我得到:
0:从所有查找本地
32765:从 192.168.28.2 查找 123
32766:来自所有查找主
32767:来自所有查找默认
我猜测 dport SELECTOR 没有生效。
我应该怎么做?
谢谢!!!
解决方案:在 Nikita Kipriyanov 的帮助下,我得到了它,但是 mangle 表的 FORWARD 链不起作用,我使用了 PREROUTING。
有人可以解释一下为什么我应该使用 PREROUTING 而不是 mangle 的 FORWARD 吗?
答案1
添加网络过滤器标记规则向前链的曼格尔表。然后使用该标记添加路由规则:
iptables -t mangle -A PREROUTING -s 192.168.28.2 -p tcp --dport 1888 -j MARK --set-mark 0x1/0x1
ip rule add fwmark 0x1/0x1 lookup 123