nul*_*ull 109 server dns resolv.conf
/etc/network/interfaces使用与以下非常相似的内容进行更新后,我该如何/etc/resolv.conf进行更新?我尝试过(以 root 身份)resolver -u,service networking restart但没有奏效。我还修复了符号链接resolv.conf并resolver -u再次尝试。最后沮丧地我重新启动,这确实通过重建/etc/resolv.conf.
Ubuntu 12.04,64 位服务器,安装所有最新补丁。
示例/etc/network/interfaces:
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10
Run Code Online (Sandbox Code Playgroud)
jdt*_*ood 120
service networking restart 并不总是使所有接口向下向上的可靠方法。
该resolvconf -u命令仅从resolv.confresolvconf 自己的数据库更新。您需要更新数据库。
要更新数据库,您必须使用-a或-d选项调用 resolvconf 。当您运行 ifup 或 ifdown 时,这会在幕后发生。因此,通常,与对 的任何其他更改一样/etc/network/interfaces,要激活对 dns-* 选项的更改,您必须关闭有问题的界面并再次打开它。或者你可以重新启动。
如果您想在不使用 ifdownupping 的情况下更改接口(可能是因为您正在远程管理机器并且碰巧通过该接口连接,natch)那么您可以通过直接从命令行运行 resolvconf 来获得相同的结果。这需要对 resolvconf 的语义有更多的了解。假设相关的 /e/n/i 节是
iface IIII FFFF static
address ...
...
dns-nameservers X.X.X.X Y.Y.Y.Y
dns-search SSSS
Run Code Online (Sandbox Code Playgroud)
其中 FFFF 是地址族(“inet”或“inet6”)。
要激活这些 dns-* 选项,请按如下方式运行 resolvconf(是的,字符串中的换行符通过管道传输到 resolvconf)。
echo "nameserver X.X.X.X
nameserver Y.Y.Y.Y
search SSSS" | sudo resolvconf -a IIII.FFFF
Run Code Online (Sandbox Code Playgroud)
对于问题中给出的节,这将是以下内容。
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅 resolvconf(8) 手册页和 resolvconf 包 README 文件 (/usr/share/doc/resolvconf/README.gz)。
小智 31
尽管默认情况下未安装联机帮助页,但它通过更新脚本选项进行了记录,只需运行:
sudo resolvconf -u
Run Code Online (Sandbox Code Playgroud)
小智 7
对于远程管理服务器的人,您可以:
dns-nameservers行/etc/network/interfaces# ifdown eth01; ifup eth01请注意,这必须在一行上,以 ; (linux 命令行分隔符)。您甚至不应该失去当前的连接。例外是在接口文件中打错了字。如果发生这种情况ifup将失败,您将不得不进行物理访问或其他ethxx连接。
| 归档时间: |
|
| 查看次数: |
355658 次 |
| 最近记录: |