场景如下:我有一台远程虚拟机,例如位于数据中心某台服务器上的虚拟机,我从受限网络(仅开放 TCP 80 和 443)上的笔记本电脑连接到该虚拟机。由于 NAT 或防火墙,我的笔记本电脑无法公开访问。有什么方法可以将此虚拟机连接到笔记本电脑所连接的本地网络吗?
它类似于 VPN,只不过是反过来的,因为 VPN 目标是我自己的笔记本电脑,由于防火墙的存在,它无法公开访问。例如,我想象它可以像这样工作:
# Find my laptop's local IP address
luc@laptop $ ip addr | grep dynamic
inet 10.0.0.100/24 brd 10.0.0.255 scope global dynamic wlan0
# Connect to the virtual machine
luc@laptop $ ssh [email protected] -p 443
# Find the VM's IP address now that we are connected
user@virtual-machine $ ip addr | grep dynamic # The VM's IP address
inet 241.42.1.40/24 brd 241.42.1.255 scope global dynamic eth0
# Connect, on the VM, to the local network of my laptop
user@virtual-machine $ ./connect-back-to-laptop-network.sh
Connecting...
Connected tun0 to 10.0.0.0/24
# Do something on the laptop's local network from the remote virtual machine
user@virtual-machine $ snmpwalk -mALL -v1 -cpublic 10.0.0.4 system
[output]
我想使用开源软件(virtualbox;qemu),但也欢迎专有解决方案。我只是好奇它是否存在以及设置起来有多容易。