带有自定义链的 iptables mangle 表

带有自定义链的 iptables mangle 表

我在 mangle 表中创建了一个新链:

$IPTABLES -N newchain -t mangle

之后,我将所有 80 端口数据包放入该新链中:

$IPTABLES -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j newchain

之后我标记了该链的数据包:

$IPTABLES -t mangle -A newchain -j MARK --set-mark 11

我该如何解析那些后面标有 11 的数据包?

$IPTABLES -t nat -A PREROUTING -m mark --mark 11 -p tcp --dport 80 -j DNAT --to-destination 172.32.1.2

不起作用。因为在 mangle > 中的 newchain 之后,数据包将过滤 FORWARD,但不会过滤到 nat。

答案1

确定路由后应用 NAT。所以你需要使用 POSTROUTING 表 -

$IPTABLES -t nat -A POSTROUTING -m mark --mark 11 -p tcp --dport 80 -j DNAT --to-destination 172.32.1.2

我不确定为什么您还需要继续 tcp/80 的资格,因为您已经在此基础上对它们进行了标记。

$IPTABLES -t nat -A POSTROUTING -m mark --mark 11 -j DNAT --to-destination 172.32.1.2

相关内容