gpt4 book ai didi

linux - iptables 将端口转发到另一个网络

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:00 25 4
gpt4 key购买 nike

<分区>

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

VPN 网络中有三台机器,其中一台是我家的 linux box,它在端口 80 上运行 Apache。这台机器在 ISP 的 NAT 后面,从外面看不到。我想在我的 VDS 上创建一条规则,以将来自 Internet(eth0 接口(interface))的端口 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/ 时,它会尝试连接到主机以获得一个很长一段时间,然后显示服务器没有响应的消息。

什么会导致这个问题?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com