尝试使用 IPTABLES 解决问题

尝试使用 IPTABLES 解决问题

我有一台面向外部的 CentOS 机器。在网络内部,我有另一台机器运行带有 Apache 的 Ubuntu。我希望能够从网络外部访问位于 Ubuntu 机器上的网页。我被告知 IPTABLES 允许我指定 CentOS 机器的 IP 地址,请求将被转发到 Ubuntu 机器。

我尝试按照一些教程操作,但没有成功。有人能给我提供执行此操作的命令吗?

答案1

在路由器上:

iptables -t -A PREROUTING -d <public address> -t tcp --dport 80 -j DNAT --to <internal address>:80

假设 CentOS 系统作为 Ubuntu 盒子所在网络的默认路由器运行,并且您只想在默认端口上转发 HTTP 流量。

答案2

使用 DNAT,正如 womble 所说:

iptables -t -A PREROUTING -d <public address> -t tcp --dport 80 -j DNAT --to <internal address>:80

但你也必须启用 ip_forwarding,并设置最少的防火墙规则

sysctl net.ipv4.ip_forward=1

相关内容