我正在使用 Ubuntu 12.04。
我的/etc/network/interfaces
文件包括:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.58
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10
我运行了以下命令:/etc/init.d/networking restart
对方回应道:
*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
*Reconfiguring network interfaces...
RTNETLINK answers: File exists
Failed to bring up eth0
[ OK ]
接下来我运行 ping google.com 并收到:
ping: unknown host google.com
我不确定我的接口是否已刷新。如何使用我的静态 DNS 地址正确配置我的网络?
答案1
根据提问者给出的内容,/etc/network/interfaces
我推断他正在使用 ifup 配置接口。但由于他实际上可能正在使用 NetworkManager,因此我也将讨论这一点。
如果您使用 ifup,则 DNS 设置将进入/etc/network/interfaces
。对于每个接口,您添加dns-*
适用于该接口上可用的名称服务器的选项。例如,如果地址为 1.2.3.4 的名称服务器可通过接口 eth0 获得,则将其添加dns-nameservers 1.2.3.4
到iface eth0
节中。
如果您正在使用 NetworkManager,则会在“连接编辑器”(网络指示器 | 编辑连接...)的“IPv4 设置”选项卡中输入设置。
重新配置接口的操作/etc/init.d/networking restart
已弃用。如果您正在使用,ifup
则首先ifdown
配置每个活动网络接口,然后配置ifup
每个接口。如果您正在使用 NetworkManager,则首先使用指示器(桌面顶部)禁用网络;然后打开终端并运行
sudo /etc/init.d/network-manager restart
然后使用指示器启用网络。
或者您也可以重新启动。
/etc/init.d/networking restart
关于导致
RTNETLINK answers: File exists
Failed to bring up eth0
这意味着 ifupdown 认为eth0
已经启动。使用ifdown --force eth0
导致ifupdown
不再相信已经配置了接口。
关于“已弃用”消息,此消息在 Ubuntu 12.10 中不再显示,但您仍应注意,启动脚本“即将消失”。要重新启动服务foo
,请使用service foo restart
或restart foo
。还请注意,如果您想重新配置接口,最好逐个 ifdown 它们,而不是依赖于重新启动“网络”。
答案2
如果以上方法均不起作用,请记住 Ubuntu 会将一个tail
文件附加到它生成的 resolv.conf 文件中。
尝试这个:
sudo mkdir -p /etc/resolvconf/resolv.conf.d
sudo nano /etc/resolvconf/resolv.conf.d/tail
这将在 nano 文本编辑器中打开一个空白的 resolv.conf.d 文件。您需要将您的 DNS 服务器地址放在此文件的第一行,并记得以回车符(按回车键)结束该行,如下所示:
nameserver 10.20.1.2
- 您还可以使用 Google 的公共 DNS:
8.8.8.8
和/或8.8.4.4
。
编辑尾部文件而不是实际的 resolv.conf 文件将防止您的更改在系统重启时丢失。
您需要运行sudo resolvconf -u
以激活更改。此后您应该能够 ping google.com。祝您好运!
如果上述命令没有找到 resolvconf,您可以使用以下命令下载它:
sudo apt install resolvconf
答案3
所有与 /etc/network/interfaces 相关的答案都错误地陈述dns-nameservers
而不是dns-nameserver
- 以下应该有效:
auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com
(在 Ubuntu 15.04 上测试)
答案4
配置 DNS 服务器的最简单方法是使用 NetworkManager
在 IPv4 下,填写您的 DNS 服务器