Virtrualbox下通过Host-Only模式访问Linux虚拟机

一般情况下,VB中的虚拟机是直接通过NAT的形式进行上网,但通过NAT模式,我们是难以直接连接虚拟机。NAT模式下,要实现主机访问虚拟机,需要设置端口转发,将虚拟机的端口转发到主机本地端口。但端口转发的方式比较麻烦,每新增一个端口服务就要设置一次转发规则,维护成本较高。另一种比较简单的方式,就是直接为虚拟机新增一张Host-Only网卡,通过该网卡主机与虚拟机便可进行直接通信。

运行环境

名称 版本
主机 Windows 10
虚拟机 Debian 10 Buster
VirtualBox 6.1

VirtualBox网卡配置

在虚拟机设置界面,选择网络,添加第二张网卡,选择Host-Only连接方式。

虚拟机网卡配置

进入虚拟机,输入ip a查看当前网卡名称,目前虚拟机里面有两张网卡enp0s3和enp0s8,其中enp0s3是通过NAT模式上网的网卡1,enp0s8是通过Host-Only模式上网的网卡2。默认情况下,enp0s8是没有IP,网关以及子网掩码等信息。

为了方便通过enp0s8连接虚拟机,将其设置为固定IP。编辑网络配置文件/etc/network/interfaces,添加enp0s8的配置信息。不需要为enp0s8添加网关,添加后可能无法通过NAT上网!默认网关只能有一个!

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet dhcp

# Host-Only network
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.56.5
netmask 255.255.255.0

编辑保存后,重启networking服务

systemctl restart networking.service

查看IP信息(可能需要等待一会儿才能看见信息),如果enp0s8没有激活,请使用ifup enp0s8命令,手动激活。

注:由于VirtualBox Host-Only网卡的默认DHCP范围56.100~56.255,为了避免冲突,将静态IP设置为100以下(192.168.56.5)。

访问虚拟机

在主机命令行中,执行ping命令,可以看到主机到虚拟机网络已打通。

通过SSH登录虚拟机

posted @ 2021-07-02 09:24  wkyo  阅读(527)  评论(0编辑  收藏  举报