问题描述
我使用的是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地址正确配置网络?
最佳解决办法
当提问者给出他的/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 restart network-manager
然后使用指标启用网络。
或者你可以重新启动。
关于/etc/init.d/networking restart
导致的事实
RTNETLINK answers: File exists
Failed to bring up eth0
这意味着ifupdown认为eth0
已经启动。使用ifdown --force eth0
导致ifupdown
停止相信它已经配置了接口。
关于”deprecated”消息,此消息不再在Ubuntu 12.10中打印,但您仍应注意,initscripts“正在逐渐消失”。要重新启动服务foo
,请使用service foo restart
或restart foo
。另请注意,如果要重新配置接口,最好逐个ifdown,而不是依赖重新启动”networking”。
次佳解决办法
如果以上都不起作用,请记住Ubuntu将tail
文件附加到它生成的resolv.conf文件中。
试试这个:
sudo nano /etc/resolvconf/resolv.conf.d/tail
这将在nano文本编辑器中打开一个空白的resolv.conf.d文件。您需要将DNS服务器地址放在此文件的第一行,并记住使用回车结束该行(按回车键),如下所示:
nameserver 10.20.1.2
编辑尾部文件而不是实际的resolv.conf文件将防止您的更改在系统重新引导时丢失。
您需要运行sudo resolvconf -u
才能激活更改。你应该能够在此之后ping google.com。祝好运!
第三种解决办法
命令行版本:
您应该以这种方式将您的名称服务器添加到/etc/resolvconf/resolv.conf.d/base
文件中:
nameserver 66.212.63.228
nameserver 66.212.48.10
第四种办法
与/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上测试)
第五种办法
配置DNS服务器的最简单方法是使用NetworkManager
在IPv4下,填写您的DNS服务器
第六种办法
通过添加,我能够在无头ubuntu服务器安装上解决这个问题
nameserver 8.8.8.8
…在/etc /network /interfaces中的相关接口之后:
auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
希望这有助于以后的用户!
第七种办法
我用
sudo ifdown eth0
然后
sudo ifup eth0
它将重置并释放所有内容……
如果它面临与配置相关的错误,您可以使用:
sudo ifdown eth0 --force
第八种办法
这对我有用
sudo vi /etc/resolvconf/resolv.conf.d/base
并添加:
nameserver <add your router ip>
跑:
sudo resolvconf -u
我使用ubuntu服务器的核心安装。
第九种办法
您缺少interfaces文件中的子网规范。
将网络掩码255.255.255.0
添加到网络线下方的/etc/network/interfaces
。