如何在接口中配置静态DNS?
我使用的是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
停止相信它已经配置了接口。
关于“已弃用”消息,此消息不再在Ubuntu 12.10中打印,但您仍应注意,initscripts“正在逐渐消失”。 要重新启动服务foo
,请使用service foo restart
或restart foo
。 另请注意,如果要重新配置接口,最好逐个ifdown,而不是依赖重新启动“网络”。
如果以上都不起作用,请记住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
跑:
sudo resolvconf -u
我使用ubuntu服务器的核心安装。
您缺少interfaces文件中的子网规范。
将网络掩码255.255.255.0
添加到网络线下的/etc/network/interfaces
。
出于某种原因, dns-nameservers
语句在我的情况下什么都不做。 其他答案不在书中,因为它们绕过了在Ubuntu中使用的dnsmasq
。
要做到这一点,请编辑/etc/dnsmasq.conf
将名称服务器添加到文件的底部:
server=8.8.8.8 server=8.8.4.4
重新启动dnsmasq以使用新设置: sudo service dnsmasq restart
图片来源: https : //unix.stackexchange.com/a/163506/187949
您可以在其他文件中配置该接口,因为您有更多网关。
细节在这里 。