iptables + nat 到内部 Web 服务器

iptables + nat 到内部 Web 服务器

我们在网关机器上运行 ubuntu。我们有一个 DNAT iptables 规则,将 80 和 3306 上的流量发送到运行 Web 服务器的内部 IP 地址。它根本不起作用。

eth1 是 wan 接口,eth0 是本地接口

-A INPUT -p tcp -m tcp -m multiport -s 192.168.2.173 -j ACCEPT --dports 25,80,443,465,3306
-A OUTPUT -d 173.201.37.214 -o eth1 -j ACCEPT
-A PREROUTING -p tcp -d $EXT_IP -i eth1 --dport 80 -j DNAT --to-destination 192.168.2.173:80
-A PREROUTING -p tcp -d  $EXT_IP -i eth1 --dport 3306 -j DNAT --to-destination 192.168.2.173:3306
-A FORWARD -p tcp -d 192.168.2.173 --dport 80 -j ACCEPT

答案1

您需要过滤表中的相应规则来允许流量通过过滤器。您发布的规则仅处理 NAT 部分。

-A FORWARD -p tcp -d 192.168.2.5 -i eth1 --dport 80 -j ACCEPT
-A FORWARD -p tcp -d 192.168.2.5 -i eth1 --dport 3306 -j ACCEPT

编辑:OP 没有在第一篇文章中包含完整的输出。

答案2

尝试这个:

回显“ 1”> / proc / sys / net / ipv4 / ip_forward

答案3

例如,您还需要 POSTROUTING 规则

-A POSTROUTING -p tcp -o eth1 -m multiport --sports 80,3306 -s 192.168.2.173 -j SNAT --to-source $EXT_IP           

相关内容