2

我需要一些帮助!有点挑战性的东西。

如果我有这个配置,我不知道为什么数据包会通过 FORWARD 链:

#set policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#forward with TEE
iptables -t mangle -A PREROUTING -d $HOST1 -p udp --dport 162 -j TEE --gateway $HOST2

该策略应该删除所有内容,因为它是 FORWARD 链上的过滤表删除策略,但它没有,所有内容都转到 $HOST2。

刷新所有表后,我应用了上面的配置。我用“iptables -L”检查过,在那里,但不起作用。

将来我想制定一些“-t filter -A FORWARD”规则,但首先我必须看到它会丢弃所有内容。

还有一个问题。

你认为这行得通吗?

#forward with TEE
iptables -t mangle -A PREROUTING -d $HOST1 -p udp --dport 162 -j TEE --gateway $HOST2
iptables -t mangle -A PREROUTING -d $HOST1 -p udp --dport 162 -j TEE --gateway $HOST3

将数据包转发到 HOST3 ??

感谢您阅读本文!亲切的问候!

4

1 回答 1

1

mangle 中的 PREROUTING 很早就发生了。对我来说,你得到 -j TEE 行为是有道理的。(顺便说一句:您的 TEE 链是什么样的?请注意,这与 --tee 路由选项不同。)

只要去掉那个 TEE 规则,它就会丢弃所有会被转发的东西。然后你应该清楚地添加你的过滤规则(确保密切注意规则的应用顺序)

对于您的第二个问题:这取决于 TEE 链末尾是否有 RETURN 语句。如果数据包将返回,那么是的,您将获得这两个规则的行为。否则,它将首先跳转到 TEE,而不是回到以下规则。

于 2014-06-09T19:52:09.677 回答