VirtualBox 中 centos7 下 ping 命令出现 Network is unreachable 问题的解决方法
1.在VirtualBox中配置网络
1.vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
先让它动态分配一个ip地址
ONBOOT=yes
Esc+: wq 保存文件退出,退出不保存q!
2.service network restart
3.ip addr
网卡:enp0s3
Ip:192.168.0.103/24
网关:192.168.0.255
子网掩码:255.255.255.0
4.再设置静态ip地址
BOOTPROTO=static
IPADDR=192.168.0.103
NETMASK=255.255.255.0
GATEWAY=192.168.0.255 (Linux下区分大小写)
service network restart
ip addr
5.配置DNS
1.检查NetManager的状态:systemctl status NetworkManager.service
2.检查NetManager管理的网络接口:nmcli dev status
3.检查NetManager管理的网络连接:nmcli connection show
4.设置dns:nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"
在这块小编遇到使用Centos7时,突然遇到使用systemctl status network.service发现网络无法正常重启的问题;
解决:1.停止NetworkManager.service
停止网络管理服务:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
网卡重启 :
systemctl restart network
5.让dns配置生效:nmcli con up enp0s3
配置成功后,先ping一下:192.168.0.103,ping通后,查看自己宿主机上的ip;
通过cmd ,ipconfig,查看到ip地址:ping 192.168.0.102
ping通ok。
问题:在这个配置中,小编第一次由于粗心把ip地址写错了,无法进行ping通。
- 检查ifcfg-enp0s3,没问题后ping自己ping通。
- Ping宿主机有问题,查看防火墙是否开启,若开启关闭防火墙。再此进行ping,ping通宿主机。
6.VirtualBox桥接模式下虚拟机联网
7.查看 centos7 网络设置,使用 nmcli 命令,查看当前虚拟机的所有网络基本信息:
nmcli connection show
参数名称 | 说明 |
---|---|
NAME | 连网代号,通常与 DEVICE 一样 |
UUID | 识别码 |
TYPE | 网卡的类型;802-3-ethernet 就是以太网 |
DEVICE | 网卡名称 |
小编连接的是无线网络,所以虚拟机也跟着有了无线和有线的以太网。继续使用 nmcli 命令,看看 enp0s3 的有线网络配置:
nmcli connection show enp0s3
这里的 enp0s3 是 centos7 自动生成的带随机数的网卡名称,每台机都不一样。
可以看到这里网关配置有问题。
8.解决问题:
- 设置 centos7 虚拟机的网络获取方式为自动获取 IP;
- nmcli connection modify enp0s3 \
- connection.autoconnect yes \
- ipv4.method auto
上面的命令只是修改了设定档,还要使用 nmcli 的 up 参数让它实际生效:
- nmcli connection up enp0s3
注意:我们ping www.baidu.com,这个时候看到的是ping :www.baidu.com:Name or service not known;并没有ping通,自己查看发现是在network-scripts文件下ping www.baidu.com
进入到localhost下ping www.baidu.com ping通外网。
ping 通外网了,ok!