iptables从过滤表移回nat表

时间:2013-10-03 10:48:57

标签: linux networking iptables

IPTABLES中的

我认为NAT表只查看第一个数据包。这意味着我无法匹配数据包中的字符串。我必须在过滤器表中匹配基于字符串的数据包。

所以,如果我想在一个字符串上匹配,请说“redtube'我想能够将其发送回NAT表然后再进行DNAT。

EG:

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

此命令将删除包含redtube的所有数据包。

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

1 个答案:

答案 0 :(得分: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

请注意第1行“reject_func”中的链名称。这意味着“将其发送到该链”,而且,在指定的链中,他找到了去哪里和做什么

(这就是SuSEFirewall2的工作方式)