如何添加仅匹配“dport”的路由规则?

如何添加仅匹配“dport”的路由规则?

在我的 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

相关内容