【问题标题】:iptables to forward port to another network [closed]iptables 将端口转发到另一个网络 [关闭]
【发布时间】:2013-04-15 02:56:22
【问题描述】:

我有一个运行 CentOS 的 VDS,它有两个接口:eth0 和 ham0。 eth0 是我的 WAN 接口,具有可从 Internet 访问的外部 IP,ham0 是小型 VPN 网络(Logmein Hamachi)的接口。

VPN 网络中有三台机器,其中一台是我家的一台 linux 机器,在 80 端口上运行 Apache。这台机器在 ISP 的 NAT 后面,从外面看不到。 我想在我的 VDS 上创建一个规则,以将来自 Internet(eth0 接口)的端口 8081 的连接转发到我的 VPN 网络中的这个 linux 盒子。像这样的:

[Internet]   --->  [VDS server with public IP]  --->  [Apache server inside VPN]

我使用了以下规则:

iptables -t nat -A PREROUTING -p tcp -d *external_ip* --dport 8081 -j DNAT --to *internal_ip*:80
iptables -A FORWARD -p tcp -d *internal_ip* --dport 80 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dst *internal_ip*  -j LOG --log-level warning --log-prefix "[REQUEST_FORWARDED]"

但它不起作用。我可以在 /var/log/messages 中看到“REQUEST_FORWARDED”消息,但是当我在浏览器中转到 http://my_eternal_ip:8081/ 时,它会尝试连接到主机很长时间,然后显示一条消息表明服务器已完成不回应。

什么会导致这个问题?

【问题讨论】:

    标签: linux iptables portforwarding


    【解决方案1】:

    我猜你需要确保“/proc/sys/net/ipv4/ip_forward”已经启用,如果没有

    echo 1 > /proc/sys/net/ipv4/ip_forward
    

    以上命令可以帮助您允许 IP 转发。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      相关资源
      最近更新 更多