打开VirtualBox管理器,选中目标Linux虚拟机,点击顶部菜单栏设置→ 进入网络选项卡。
启动宿主机(Windows/Mac),通过以下命令查看Host-Only网络的IP地址段和网关:
cmd),输入ipconfig,找到“VirtualBox Host-Only Network”对应的IPv4 地址(如192.168.56.1)和子网掩码(如255.255.255.0),网关通常为192.168.56.1。ifconfig | grep "inet ",找到vboxnet开头的接口(如vboxnet0),记录其inet地址(如192.168.56.1)。启动Linux虚拟机,打开终端,执行以下操作:
su -(部分发行版可能直接使用sudo -i)。cd /etc/sysconfig/network-scripts/(CentOS/RHEL等发行版)或cd /etc/netplan/(Ubuntu 18.04及以上版本)。vi或nano编辑ifcfg-<网卡名>(如ifcfg-enp0s3,网卡名可通过ip addr命令查看),输入i进入插入模式,修改以下参数:BOOTPROTO=static # 将动态获取(dhcp)改为静态
ONBOOT=yes # 开机自动启动网络
IPADDR=192.168.56.100 # 静态IP地址(需与宿主机同网段,如192.168.56.x,x≠1)
NETMASK=255.255.255.0 # 子网掩码(与宿主机一致)
GATEWAY=192.168.56.1 # 网关(与宿主机一致)
DNS1=8.8.8.8 # DNS服务器(可选,可添加多个如DNS2=8.8.4.4)
01-netcfg.yaml(或50-cloud-init.yaml),添加以下内容(需根据实际情况调整):network:
version: 2
ethernets:
enp0s3: # 网卡名
dhcp4: no
addresses: [192.168.56.100/24] # 静态IP及子网掩码(/24等同于255.255.255.0)
gateway4: 192.168.56.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
vi中按Esc→ 输入:wq;nano中按Ctrl+O→ Enter→ Ctrl+X。systemctl restart network(CentOS 7及以上)或service network restart(CentOS 6及以下)。sudo netplan apply(应用Netplan配置)。systemctl status network(CentOS)或systemctl status systemd-networkd(Ubuntu),确保无报错。ping 192.168.56.1(宿主机Host-Only IP),若显示“64 bytes from…”则表示通信正常。ping 192.168.56.100(虚拟机静态IP),若能ping通则说明配置成功。ping www.baidu.com,若能ping通则说明外网访问正常。192.168.56.1,虚拟机IP可为192.168.56.100-192.168.56.254),且不能与宿主机或其他虚拟机IP冲突。netplan,CentOS使用network-scripts),需根据实际情况调整。