1

我正在尝试配置一个防火墙,它将根据数据包的内容阻止或更改数据包的目的地,具体来说 - 对某些主机上某些页面的 HTTP 请求(是的,这是另一个“伟大的防火墙”)。我对阻塞没有问题,它很简单:

iptables -A FORWARD -m string --string "Host: www.host.com" --algo bm -j DROP

问题在于更改目标地址。只有在 nat 表中的 PREROUTING 链中才有可能。但规则如

iptables -t nat -A PREROUTING -m string --string "Host: www.host.com" --algo bm -j DNAT --to-destination 1.2.3.4

只是永远不会触发。我试图在 mangle 表中标记 PREROUTING 链中的数据包并检查 nat/PREROUTING 中的标记。数据包被标记但从未在 nat/PREROUTING 中捕获。

我做错了什么(当然,除了这整件事)?

4

0 回答 0