从公共互联网访问内部网站

从公共互联网访问内部网站

我有当前的设置:

笔记本电脑 -> 守门人 -> 主服务器 -> 我的机器

我需要执行 3 个 SSH 才能到达那里my_machine,我找到了一个解决方案,通过编辑 SSH 的配置文件并使用 来一​​步完成ProxyCommand

我想要访问托管在 my_machine 上的 Ganglia,并且找到了使用 SSH 端口转发的解决方案:

ssh -L 9001:localhost:80 user@my_machine

然后将我的笔记本电脑浏览器指向http://localhost:9001。这有效,但我想知道是否还有其他“更好”的方法?更具体地说,如果我想在智能手机上访问 Ganglia 页面,我该怎么做?

答案1

您的术语使得很难给出建议。

思考您的意思是“Gatekeeper”是“防火墙”,而“master_server”是“LAN 上带有‘my_computer’计算机的某个服务器”。您在评论中提到“我无法控制 gatekeeper,可能也无法控制 master_server。”这让我认为您不是此网络的系统管理员,这限制了您的选择。

目前,大多数连接到互联网的 IPv4 局域网 (LAN) 都使用防火墙,该防火墙位于 LAN 和互联网连接的边界。此设备执行网络地址转换 (NAT),将 LAN 上使用的私有 IP 地址(取自 RFC1918)之间的网络流量转换为互联网服务提供商 (ISP) 分配的一个或多个公共 IP 地址。

以下是从 LAN 之外的设备(例如您的“智能手机”)访问您的网站时通常会发生的情况:

  • 系统管理员通常会将防火墙配置为接受来自公共互联网的传入连接

  • 你的智能手机将向防火墙互联网侧接口分配的公共 IP 地址之一发出请求

  • 防火墙将接收来自智能手机的请求,并将“目标”地址从公共 IP 地址转换为分配给“my_computer”主机的私有 IP 地址

  • 防火墙会将转换后的请求发送到 LAN

  • “my_computer”主机将通过防火墙接收来自互联网的连接请求并作出响应。

  • 防火墙将接收来自“my_computer”主机的响应,并将源地址转换回智能手机请求最初发送到的公共IP地址

  • 防火墙会将转换后的响应发送到 ISP 的路由器

由于您无法控制防火墙,因此您无法执行常规操作。

还有其他选择,但没有一个比联系系统管理员并通过防火墙配置正确的转发更好。

相关内容