Iptables
如何添加只匹配“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 instaed。
請任何人解釋為什麼我應該使用 PREROUTING 而不是 FORWARD 的 mangle?
在mangle表的FORWARD鏈中添加 netfilter標記規則。然後使用該標記添加路由規則:
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