从虚拟机本地网络外部连接到 VirtualBox(Linux Ubuntu 18.04)

从虚拟机本地网络外部连接到 VirtualBox(Linux Ubuntu 18.04)

我前段时间问过这个问题,并到处寻找答案。但似乎每个人都在回避这个问题。或者至少像我这样的新手是这么认为的。我找到的都是关于从我的主机操作系统(Windows 10)连接到我的客户操作系统(VirtualBox 上的 Linux Ubuntu 18.04)的内容。然而,每个人都忽略了一点,这两个操作系统都在 LAN 级别。我想从 LAN 外部连接到我的虚拟机。我正在学习设置合适的服务器,所以我想在实际购买 Raspberry Pi 并启动我的服务器之前在虚拟机上测试所有内容。

无论如何,我的虚拟机上有三张网卡。一个使用NAT,一个使用Host-Only Network,另一个使用Bridged Network。我已将虚拟机NAT网络的端口转发配置127.0.0.1为主机 IP、2222主机端口、10.0.2.4客户机 IP 和22客户机端口。我还执行了sudo ufw allow 22sudo ufw allow 2222命令,以及配置/etc/netplan/50-cloud-init.yaml文件并给出了我的enp0s8(即Host-Only接口)的静态 IP 192.168.56.101,而其他接口分别从中获取其 IP DHCP4。现在,从主机操作系统执行通过时工作正常。ssh通过和地址执行也是如此。我也可以使用 JuiceSSH 从我的 Android 手机(当然,连接到同一个 WLAN!)使用地址(桥接的)。但任何尝试从 (W)LAN 外部连接的尝试都以连接失败或超时错误告终。哦,我无法访问我的路由器。任何,我的意思是任何帮助都非常感谢。我快要疯了!!127.0.0.1ssh192.168.56.101192.168.0.194ssh192.168.0.194

EDIT1:如果我听起来有点粗鲁或傲慢,请原谅。只是我对整个网络事情还不太熟悉,过去 3 周我一直在努力实现这一点。我只想启动自己的 OpenVPN 服务器,然后如果我还有足够的勇气,向其中添加一个 Samba 文件服务器……但保护 ssh 具有更高的优先级,用于维护和其他事情

EDIT2:这有可能吗?考虑到虚拟机实际上是虚拟的,并且只存在于其主机中?比如,假设我在 Raspberry Pi 上完成了上述所有操作。那么我可以从 (W)LAN 外部远程访问我的服务器吗?

答案1

你的问题是不同的大多数人遇到的第一个问题通常是在 LAN 内连接,或者在 LAN 上创建一个可预测的 IP 地址进行连接。由于您可以成功连接到 LAN 内的服务器,因此您的 Ubuntu 系统配置正确。恭喜!

您遇到的问题似乎是从外部 (WAN) 连接到 LAN。通常的做法是使用路由器上的端口转发功能,并调整路由器的防火墙以不阻止您的连接。由于您无法控制路由器,因此您无法这样做。

您可以查找如何创建反向 ssh 隧道以绕过路由器...但这种解决方法在其他人的网络上可能被认为是一种粗鲁的行为,并且发现反向 ssh 服务可能会导致制裁(例如被禁止进入 LAN)。这是否粗鲁取决于您所在的文化。

在做任何事情之前先与网络所有者沟通...他们可能愿意为您设置端口转发。未经他们的批准,请勿安装反向 ssh 来绕过他们的路由器和防火墙。

相关内容