编辑dns-nameservers后/etc/network/interfaces,如何resolvconf(8)在不重新启动网络的情况下读取新值?(导致服务中断)
该-u选项似乎不起作用,它只是更新回相同的值。
jdt*_*ood 27
您是对的,“resolvconf -u”不足以激活您所做的更改。该命令仅从 resolvconf 的数据库更新 resolv.conf,而您需要更新数据库。
假设有问题的接口是 eth0。假设在 /etc/network/interfaces 中有一个看起来像这样的节。
iface eth0 inet static
[...]
dns-nameservers 1.1.1.1 2.2.2.2
Run Code Online (Sandbox Code Playgroud)
现在您更改“dns-nameservers”行。要激活此更改,请执行(注意 && 避免破坏可能打开的 ssh 连接)
ifdown eth0 && ifup eth0
Run Code Online (Sandbox Code Playgroud)
或重新启动。
Ran*_*ook 13
我最近两次碰到这个。
第一次,我这样做sudo ifdown eth0当然会终止我的 ssh 连接并让机器忽略它的 NIC。哎哟。我必须通过服务器上的 IPMI 界面才能再次获得控制权。
第二次,我从之前的错误中吸取了教训并做到了sudo ifdown eth0 ; sudo ifup eth0。ssh 窗口当然死了,但是机器很快响应了新的 ssh 连接,并且我的 DNS 修改生效了。我在第二台服务器上做了同样的事情,但这次我在 ssh 窗口中输入任何内容之前等待。窗口一直停留,并且已应用 DNS 更改。惊人的。
关键是使用 shell 的分号运算符,以便两个命令都在一行上。这样,在接口宕机的时候,恢复接口的命令就已经输入了。我想我可以写一个脚本并执行它,但这似乎更容易。
更新:还有另一种方法可以做到这一点。你也可以一步重启Ubuntu网络服务:sudo /etc/init.d/networking restart或者sudo service network-interface restart INTERFACE=eth0. 感谢 JFA 的启发。
| 归档时间: |
|
| 查看次数: |
177125 次 |
| 最近记录: |