CentOS 7 VirtualBox 无法访问互联网

Gas*_*sim 61 networking centos virtualbox

我在将 CentOS 7 客户机连接到互联网时遇到问题。我的 VirtualBox 网络配置如下:

Adapter 1: NAT; Adapter 2: Host-Only (vboxnet0)
Run Code Online (Sandbox Code Playgroud)

vboxnet0 使用默认 VirtualBox 参数通过 DHCP 连接设置。

在我的 CentOS 来宾中,我命令ip a并得到以下信息:

enp0s3: 10.0.2.15/24 (NAT adapter)
enp0s8: 192.168.56.102/24 (Host-Only adapter)
Run Code Online (Sandbox Code Playgroud)

我可以从我的主机连接到我的 VirtualBox:

ping 192.168.56.102
Run Code Online (Sandbox Code Playgroud)

可以发送和接收数据包。

但是,我的 VirtualBox 无法访问互联网:

ping www.google.com
Run Code Online (Sandbox Code Playgroud)

输出“未知主机 www.google.com”

这是我的ifcfg-enp0s3

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
IPV4_FAILURE_FATAL=no
IPV6_INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=UUID HERE (sorry I cannot copy from my guest host yet, no Guest Additions and it was too long)
DEVICE=enp0s3
ONBOOT=yes
Run Code Online (Sandbox Code Playgroud)

为什么我的客人无法连接到互联网?

小智 92

正如加西姆所说:

将以下内容添加到 /etc/sysconfig/network-scripts/ifcfg-enp0s3

DNS1=8.8.8.8
DNS2=8.8.4.4
# Note this was set to no
ONBOOT=yes  
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这个 awnser 解决了我的问题。ONBOOT=yes 为我做了,我不需要 DNS1 和 DNS2 行。 (8认同)
  • 在这些步骤后也重新启动 (6认同)

小智 12

默认情况下,网络连接处于非活动状态。您可以通过运行以下命令来检查这一点:

nmcli d
Run Code Online (Sandbox Code Playgroud)

要编辑连接,请运行以下命令:

nmtui
Run Code Online (Sandbox Code Playgroud)
  1. 编辑连接
  2. 选择您的以太网连接
  3. 选中“自动连接”选项,如下图所示

    图形用户界面

  4. systemctl 重启网络

  5. sudo 关机 -r 现在

  • 这是我对 VirtualBox 和 CentOS7 的问题。检查“自动连接”选项解决了我的问题。感谢您的明确指示... +1 (2认同)

td5*_*512 7

机会是在/etc/resolv.conf你没有任何域名服务器设置,在这种情况下,你想做的事:

vim /etc/resolv.conf

并添加:

nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

保存它,一旦回到外壳

做:

sudo reboot now 重新启动,您应该可以访问互联网

  • 将它添加到 resolv.conf 不起作用,因为它是由网络管理器自动生成的,所以我将 `DNS1=8.8.8.8` 和 `DNS2=8.8.4.4` 添加到 `ifcfg-enp0s3` 并且它起作用了。但奇怪的是,resolv.conf 添加了我的路由器地址作为名称服务器并在我的路由器中。我的路由器的DNS已经是谷歌DNS了,所以我不知道为什么当我设置`nameserver 10.0.2.1`(路由器地址)时它不能识别DNS (5认同)