我在 VirtualBox VM 实例中使用 Ubuntu 18.04.1 LTS。我正在根据一篇关于设置非互联网可访问的隔离虚拟网络环境以分析恶意软件的文章构建内部网络。我需要此 VM 实例上的互联网来下载程序以供我的设置使用。相关 VM 实例已启用 NAT 模式,我期望实例启动时有 DHCP 互联网访问,但无法访问任何网站。
我在中定义了接口/etc/网络/接口用于本地主机和网络网关(此 VM 实例)。我还定义了一个 DHCP 接口用于 NAT 网络:(我注释掉了静态 enp0s3 接口,因为它被定义为用于内部网络。
内容/etc/网络/接口:
auto lo
iface lo inet loopback
#Internal Network
#auto enp0s3
#iface enp0s3 inet static
#address 10.0.0.1
#netmask 255.255.255.0
auto eth0
iface eth0 inet dhcp
我将 eth0 定义为用于 NAT 的 DHCP 接口。这是假设我需要这样做。然后我sudo ifup eth0
在 bash 中输入命令,就像我定义静态接口 enp0s3 用于内部网络时所做的那样,但我收到一条错误消息,指出无法找到接口 eth0。
然后,我检查了在网络设置下启用的连接。该连接使用可路由的 IPv4 地址定义:10.xxx,DNS 解析器设置为 Google DNS。硬件地址已填写。并选中“自动连接”。MAC 地址定义为 enp0s8(我没有在接口文件中定义它)。在网络连接的 IPv4 设置下,DHCP 也设置为自动。
我运行了命令sudo service network-manager restart
,之后sudo service networking restart
出现了错误,但我仍然无法访问互联网。
我使用ifconfig
bash 检查系统识别的接口,eth0 不在其中,尽管我在网络配置文件中定义了它。但是 enp0s8 却被识别了。
使用 检查系统识别的网络接口后ip link
,我将定义的接口名称更改为 enp0s8。使用 关闭 enp0s8sudo ifdown enp0s8
并使用 将其恢复sudo ifup enp0s8
。我注意到收到的多行输出的最后一行:
grep: /etc/resolv.conf: No such file or directory
。我用 检查了 enp0s8 接口,它显示状态为 UP。然后我使用和ip link
重新启动了网络服务。没有定义网络连接,就像之前的网络设置中那样。只有 VPN 选项。sudo service networking restart
sudo service network-manager restart
答案1
从修订 #6问题的:
grep: /etc/resolv.conf: No such file or directory
意味着这是一个无效的符号链接,因此我删除了 resolv.conf,并将 enp0s8 dhcp 接口要使用的名称服务器定义为 Google DNSecho "nameserver 8.8.8.8" > /etc/resolv.conf
,从而创建了包含相关 Google DNS 信息的 resolv.conf 文件。现在可以访问互联网了。但是,网络管理器在重新启动时可能会擦除文件 resolv.conf。如果网络管理器未在任务栏中显示活动的互联网连接托盘图标,并且无法通过网络管理器连接,则请先确认您无法访问互联网。在网络配置文件中定义了正确的接口并在 resolv.conf 中定义了相应的名称解析器后,尝试访问网站。它可能会起作用。
答案2
无法使用已命名的接口eth0
,因为不存在这样的接口。根据一致的网络设备命名原则。诸如 的名称eth0
不再默认使用。
如果您不确定新接口的名称,您可以使用ip link
查找系统中存在的所有接口。一旦您知道正确的名称,您就可以eth0
在/etc/network/interfaces
配置中使用它。