VirtualBox 中 centos7 下 ping 命令出现 Network is unreachable 问题的解决方法

1 问题描述

在 VirtualBox 中安装好 centos7 后,发现使用 ping 命令测试连接外网 IP 地址,会报错。具体如下:

2 分析

2.1 查看 VirtualBox 设置

打开 VirtualBox 中这台虚拟机的设置,发现默认的连接方式是“网络地址转换(NAT)”。这种方式下,虚拟机可以访问本机,也可以访问外网。这里的设置没问题。

2.2 查看 centos7 网络设置

使用 nmcli 命令,查看当前虚拟机的所有网络基本信息:

nmcli connection show

具体参数说明如下:

参数名称 说明
NAME 连网代号,通常与 DEVICE 一样
UUID 识别码
TYPE 网卡的类型;802-3-ethernet 就是以太网
DEVICE 网卡名称

因为我本机开了无线网络,所以虚拟机也跟着有了无线和有线的以太网。我们继续使用 nmcli 命令,看看 enp0s3 的有线网络配置:

nmcli connection show enp0s3

  • 这里的 enp0s3 是 centos7 自动生成的带随机数的网卡名称,每台机都不一样。

很明显,这里的 IP 地址和网关配置的都不正确,原因找到啦。O(∩_∩)O~

3 解决问题

  1. 设置 centos7 虚拟机的网络获取方式为自动获取 IP(这种方法最方便啦 O(∩_∩)O~)
nmcli connection modify enp0s3 \
connection.autoconnect yes \
ipv4.method auto
  1. 上面的命令只是修改了设定档,还要使用 nmcli 的 up 参数让它实际生效:
nmcli connection up enp0s3

  1. 实际测试

报错啦,ping 外网 IP,出现 Destination Host Unreachable 的错误!

一查,发现 virtualBox 的 NAT 方式下,centos7 并不能使用自动获取 IP 的连网方式,看来必须换成桥接模式!

到 virtualBox 中换成桥接模式后,立即就生效,马上再测试下:

成功啦,我们的 centos7 虚拟机终于连上外网啦 O(∩_∩)O~

你可能感兴趣的:(Linux)