我在NAT防火墙后面有一个VPS和一个服务器。我想使用NAT防火墙后面的服务器作为VPS的备份。VPS需要能够启动备份过程,并通过因特网发送备份,通过路由器执行NAT,并发送到备份机。我没有对路由器的控制,所以我的备份机没有公共IP地址。
是否有办法从备份机器打开SSH隧道(或等效的)到服务器,以便服务器可以通过此连接复制文件?
拓扑结构如下:
________ _______________ ________
| server | -- ( internet ) -- | router w/ NAT | -- | backup |
-------- --------------- --------发布于 2010-08-13 07:58:19
回答我自己的问题:
这表明你所需要的只是一个新的搜索词:“反向”,就像在"ssh隧道反向“中一样。
因此,要创建反向SSH隧道,请使用-R从NAT后面的机器运行SSH (在我的示例中是备份),并指定要绑定到本地端口的远程端口,因此:
ssh -R remote_bind_port:localhost:local_port remote_user@server因此,例如:
ssh -R 1222:localhost:22 backup@example.com将example.com上的端口1222绑定到本地主机端口22。也就是说: example.com上的用户可以执行ssh localhost -p 1222,以便遍历NAT并连接到路由器后面机器上的SSH服务器。
发布于 2010-08-13 01:07:26
我是这么做的,但我倒着干。
我让OpenVPN服务器在服务器上运行,备份运行OpenVPN客户端。这是因为服务器不改变IP地址。现在,只要备份结束,NAT框的IP地址就不重要了,它总是在OpenVPN网络上拥有相同的IP,并且服务器总是可以找到它。
另外,由于OpenVPN连接是通过NAT“传出”的,只要允许UDP端口(在大多数设备上是默认的),NAT设备也不需要特殊的配置。
发布于 2010-08-13 00:28:54
打开从主服务器到VPC的SSH连接,启用隧道,以便VPC计算机可以连接到家庭计算机上的服务;rsync或ftp可能是最简单的。
https://serverfault.com/questions/170016
复制相似问题