![SSH 和 HTTP/S 到 vbox 客户机无需端口转发?](https://linux22.com/image/1612651/SSH%20%E5%92%8C%20HTTP%2FS%20%E5%88%B0%20vbox%20%E5%AE%A2%E6%88%B7%E6%9C%BA%E6%97%A0%E9%9C%80%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%EF%BC%9F.png)
我有一台 Windows 10 主机,并且正在使用 Virtual Box 运行 Debian 9 客户机,我用它进行网站开发。
我已将 Debian 客户机设置为使用 NAT 适配器,并具有以下端口转发:
HTTP 127.0.0.1 8080 10.0.2.15 80
HTTPS 127.0.0.1 443 10.0.2.15 443
SSH 127.0.0.1 2022 10.0.2.15 22
从 Windows 主机,我可以通过 ssh 登录到 Debian 客户机,如下所示:
ssh -p 2022 127.0.0.1
我可以通过在 URL 中添加转发的端口号来访问我正在开发的网站:
http://127.0.0.1:8080
不过,我个人觉得记住添加端口号很烦人。
10.0.2.15
我尝试通过两个端口20
和ssh 进入2022
,但超时了。我猜这实际上并没有影响到客户机,只是停留在主机内部网络中。
有没有办法可以配置所有内容,以便客户机具有本地 IP 地址,这样我就可以 ssh 进入它,并从中拉出网站,而无需指定非标准端口? 我还需要从 vbox 客户机内部访问外部互联网,以便进行开发和更新客户机操作系统。
答案1
我按照这里的说明进行操作:https://dev.to/isabolic99/how-to-set-host-only-adapter-on-vm-virtual-box-2jka。它有关于添加其他主机网络设置的说明,但我只使用默认设置,而且效果很好。
以下是我采取的步骤:
向您的 Debian 9 客户虚拟机添加仅主机网络适配器。
启动虚拟机客户机,并确定新网络适配器的名称
$ ls /sys/class/net
我的是enp0s8
。
将以下内容添加到您的
/etc/network/interfaces
:自动 enp0s8 允许热插拔 enp0s8 iface enp0s8 inet 静态地址 192.168.56.11 网络掩码 255.255.255.0
重新启动您的虚拟机,或者使用
ifup enp0s8
命令。
现在,您应该能够从主机上的192.168.56.11
所有标准端口访问 vbox 客户机。