这是我的情况。我拥有一个提供 3 个公共 IP/公共接口的 VPS。我们将这些 IP 地址称为 V1(在 eth1 上)、V2(在 eth2 上)和 V3(在 eth3 上)
我家里有一个路由器。家庭 WAN IP 是 H。在我的路由器后面,我有一个 Ubuntu 盒子,在端口 80 上提供网站服务。由于我的 ISP 阻止端口 80,我已将路由器配置为从外部 8080 到内部 Ubuntu:80 进行端口转发。所以我可以从我家以外的地方访问我的网站http://H:8080
。
我想要做的是在我的 VPS 上,将 V2 端口 80 上的流量转发到 H 端口 8080。
基本上,我应该可以说http://V2
..这将首先转到我的VPS上端口80上的第二个接口,然后它将自动转到我的路由器上的端口8080..最终将转到我的Ubunty上的端口80 。
这是可行的吗?我应该学习 iptables 吗?我不知道这是否符合“路由”或“NAT”之类的条件。
TL;DR - 我所拥有的 --> 将路由器外部端口 8080 端口转发到路由器端口 80 内的 ubuntu 机器。我想要的 --> 在我的 VPS eth2 上的端口 80 到路由器上的端口 8080 之间创建一个“透明链接”。
我想访问我的网站而http://V2
不是http://H:8080
.
(顺便说一句,http/port 80 是我的第一个目标。我也想对 SSH 和其他一些服务做同样的事情!)
答案1
我认为您需要的是端口转发器。
V2
在公共监听端口上设置端口转发器80
,并转发到该H
端口8080
。ssh
可以用来执行此操作,因为它可以安全地执行此操作,只要您可以ssh
进入您的家庭网络(端口号并不重要,您可以在您喜欢的任何端口上设置 ssh)。
可能还有其他端口转发器,包括不安全的端口转发器。ssh
太ssh
过分了。