环境准备
VirtualBox 7.0
CentOS7
网络连接方式:桥接模式(Bridged Adapter)
静态 IP 配置
关闭防火墙
#查看防火墙状态
systemctl status firewalld
#关闲防火墙
systemctl stop firewalld
#禁用防火墙
systemctl disable firewalld
关闭 NetworkManager,这步有可能设置没有用,也可以跳过
我们自己配置固定 IP,不需要 NetworkManager 帮忙管理网络,关闭它
#查NetworkManager 态
systemctl status NetworkManager
#关闭 NetworkManager
systemctl stop NetworkManager
#禁用 NetworkManager
systemctl disable NetworkManager
修改网络接口配置文件
文件在 /etc/sysconfig/network-scripts/ 目录下
CentOS6 的文件名是 ifcfg-eth* ,例如: ifcfg-eth0 、 ifcfg-eth1
CentOS7 的文件名是 ifcfg-en* ,例如: ifcfg-enp0s3 、 ifcfg-ens33
我的文件名是 ifcfg-enp0s3
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
默认情况下该文件内容如下
结合宿主机的网络信息,修改该文件,内容如下:
BOOTPROTO 固定改成 static
ONBOOT 固定改成 yes
DNS1 固定成 114.114.114.114 或 8.8.8.8
IPADDR 配置成你想改成的固定IP,需要参考宿主机的IP,而不是可以改成任意IP,比如宿主机 IP 是 192.168.1.114 ,那这里就可以配置成 192.168.1.* (不能使用已被占用的IP、预留IP)
NETMASK 和 GATEWAY 都和宿主机保持一致
ifcfg-enp0s3 修改完成后,保存退出
重启网络服务: systemctl restart network
没报错的话,静态 IP 就配置好了
可以 ping 下百度,看看是否能 ping 通
坑点
MAC地址配错
这个只出现过一次,在 ifcfg-enp0s3 中配置 HWADDR 的时候,手动输入出现了失误
这个值从这里可以拿到
两两以横线(-)隔开,类似: HWADDR=08-00-27-7C-F1-FB
经过多次尝试, ifcfg-enp0s3 是不需要显示配置 HWADDR 的;配了可能配错,那就别配了
VirtualBox 网络 界面名称 选错
这是楼主反复遇到的问题,尤其是笔记本(无线网卡、有线网卡)
这里选择宿主机正在使用的网卡(连入网络的网卡)
无线和有线切换,这里也需要做相应的调整
桥接模式,就是通过宿主机网卡来搭桥,连入网络,你配置一个未接入网络的网卡,咋滴,你要上奈何桥呀?
NetworkManager 与 静态 IP 冲突
关闭 NetworkManager 即可,楼主一般都会关掉它,所以没遇到过这个问题
防火墙防护
关闭防火墙即可,包括 CentOS 和宿主机上的 Windows
宿主机未关闭防火墙,可能出现宿主机可以 ping 通虚拟机,虚拟机 ping 不同宿主机的情况
ifcfg-enp0s3相同目录存在ifcfg-enp0s8文件
ifcfg-enp0s3相同目录存在ifcfg-enp0s8文件的话,会造成更改ifcfg-enp0s3文件后,桥接模式无法上网的问题,只需将ifcfg-enp0s8文件删除,之后重启虚拟机即可。
总结
1、配置静态 IP,主要分 4 步:关闭防火墙、关闭 NetworkManager 、修改网络接口配置文件、重启网络
2、网络接口配置文件中不需要配置 MAC
3、 VirtualBox 上虚拟机网卡一定要选宿主机正在使用、正在使用、正在使用的网卡