我只有一个公共 IP 地址,其后面是一些虚拟机,我需要从公共互联网使用 WinSCP/FileZilla 访问这些虚拟机。
我知道我可以像 一样在路由器上进行端口转发10022->192.168.1.100:22
,但感觉太繁琐了。我想知道是否有一个优雅的解决方案?最终目标是能够访问这些虚拟机上的文件系统并使用 GUI 客户端传输文件。
编辑:我可以选择通过 VPN 接入我的网络,但是我对此并不满意,因为我需要做更多的配置和安全预防措施等等。如果允许通过 VPN 接入私有网络,那么我必须在每个虚拟机上增加更多的安全性,这可能需要做很多工作,我想避免这种情况。
答案1
端口转发方法正是我所采用的。然而,缺点是某些网络(例如在酒店时)实施了出口过滤,只允许您连接到已知端口。因此,不常见端口上的服务器将无法访问。
可能会有安全/信任方面的问题,但您可以通过 NFS/Samba 将文件从所有机器共享到中央机器。然后将 22/tcp 端口转发到该机器。然后,您便可以在一个地方通过单个标准端口轻松更新所有文件。
[编辑] 一步一步:
- 使用 nfs/samba 将每个虚拟机的文件系统挂载到中央虚拟机上,例如:
- vm1:/路径/到/文件/mnt/vm1
- vm2:/路径/到/文件/mnt/vm2
- 将 22/tcp 端口转发至此中央机器
- 使用 SFTP 到这台中央机器,访问 /mnt/vm1 和 /mnt/vm2 上的文件