0

在 IPTABLES 中,我相信 NAT 表只查看第一个数据包。这意味着我无法匹配数据包中的字符串。我必须在过滤表中才能根据字符串匹配数据包。

因此,如果我想在字符串上匹配“redtube”,我希望能够将其发送回 NAT 表,然后进行 DNAT。

例如:

iptables -I FORWARD 1 -s 192.168.1.156 -m string --string 'redtube' --algo bm -J DROP 

此命令将丢弃任何包含 redtube 的数据包。

有没有办法通过 nat 将该连接发回,以便我可以使用 -J DNAT 目标并将其发送到另一个显示块页面的网络服务器?

4

1 回答 1

1

您可以创建一个“个性化”链,并使用“-j chain_name”将数据包发送到该链

而不是声明在该链中要做什么,例如

-A input_ext -p tcp -m tcp --dport 113 -m state --state NEW -j reject_func

然后

-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable

注意第一行“reject_func”中的链名称。它的意思是“把它送到那个链”,然后,在指定的链中,他找到了去哪里和做什么

(这就是 SuSEFirewall2 的工作原理)

于 2013-10-03T11:22:36.127 回答