在VirtualBox中为CentOS虚拟机添加并配置多块网卡,需先通过图形界面完成基础设置:
08:00:27:XX:XX:XX),后续配置CentOS时需与文件中的HWADDR一致,避免网络冲突。进入CentOS虚拟机,通过编辑网络配置文件实现多网卡功能。以下以CentOS 7/8为例(CentOS 6类似,但部分命令不同):
CentOS的网络配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<网卡名>(如ifcfg-enp0s3、ifcfg-enp0s8)。可通过ip link或ifconfig命令查看网卡名(如enp0s3对应Adapter 1,enp0s8对应Adapter 2)。
编辑ifcfg-enp0s3(或对应网卡名),内容如下:
DEVICE=enp0s3 # 网卡设备名(需与系统一致)
TYPE=Ethernet # 网络类型(以太网)
BOOTPROTO=static # 静态IP(或dhcp,若需自动获取)
ONBOOT=yes # 开机自启(必须设为yes)
IPADDR=10.0.2.100 # 静态IP(NAT模式下VirtualBox默认分配10.0.2.x段)
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=10.0.2.2 # 网关(NAT模式下VirtualBox默认网关)
DNS1=8.8.8.8 # DNS服务器(可选,建议设置)
HWADDR=08:00:27:XX:XX:XX # MAC地址(与VirtualBox中Adapter 1的MAC一致)
NM_CONTROLLED=no # 不使用NetworkManager管理(可选,避免冲突)
注意:若需使用DHCP自动获取IP,可将BOOTPROTO设为dhcp,并删除IPADDR、NETMASK、GATEWAY等参数。
编辑ifcfg-enp0s8(或复制ifcfg-enp0s3生成,如cp ifcfg-enp0s3 ifcfg-enp0s8),内容如下:
DEVICE=enp0s8 # 网卡设备名(需与系统一致)
TYPE=Ethernet # 网络类型
BOOTPROTO=static # 静态IP(或dhcp)
ONBOOT=yes # 开机自启
IPADDR=192.168.56.101 # 静态IP(仅主机模式下VirtualBox默认分配192.168.56.x段)
NETMASK=255.255.255.0 # 子网掩码
# GATEWAY=192.168.56.1 # 仅主机模式下无需设置网关(避免覆盖NAT网卡的网关)
DNS1=8.8.8.8 # DNS服务器(可选)
HWADDR=08:00:27:XX:XX:XX # MAC地址(与VirtualBox中Adapter 2的MAC一致)
NM_CONTROLLED=no # 不使用NetworkManager管理
关键提醒:仅主机模式的网卡不能设置GATEWAY,否则会覆盖NAT网卡的网关,导致无法访问外网。
配置完成后,执行以下命令重启网络服务,使配置生效:
sudo systemctl restart network # CentOS 7/8
# 或(若使用NetworkManager)
sudo systemctl restart NetworkManager
若重启失败,可使用journalctl -xe查看错误日志,或通过ip addr命令验证网卡IP是否已更新。
ONBOOT是否设为yes,HWADDR是否与VirtualBox中的MAC一致,或使用ip link set <网卡名> up手动激活网卡。enp0s3)配置了正确的GATEWAY和DNS,且网关IP(如10.0.2.2)是VirtualBox NAT服务的默认网关。enp0s8)与主机VirtualBox Host-Only Network的IP在同一网段(如主机IP为192.168.56.1,虚拟机IP为192.168.56.101),且主机防火墙未阻止ICMP请求。通过以上步骤,即可在VirtualBox中为CentOS虚拟机配置多网卡,实现访问外网、主宿机通信或虚拟机间局域网通信等需求。