我遇到过一种情况,即我无法授予对计算机的访问权限,但在某些情况下可能需要更改 IP 设置。我通过提供一个 USB 棒和一个包含静态和 DHCP 信息(根据需要重命名)的文件以及一个脚本来解决这个问题,该脚本在重新启动时会检查 USB 棒中的文件并覆盖 /etc/network/interfaces
到这里,一切都很好。
但是,文件 /etc/resolv.conf 保存 DNS 信息(据我所知)并且我不确定该文件的结构如何。
对于我来说,构建一个文件 /etc/resolv.conf 的最佳方法是什么,该文件可以用上面的 /etc/network/interfaces 但 DNS 设置覆盖?
举例来说,我使用静态 IP,我的 /etc/resolv.conf 如下所示:
nameserver 192.168.1.254
我已看到一个演示文件,其中似乎包含在 /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
我可以将所有信息放在一个文件中吗?如果可以,那么 /etc/resolv.conf 文件中的内容是什么?
说实话,我宁愿将所有内容放在一个文件中,这样最终用户只需修改一个文件就可以更轻松。
如果可以在一个文件中完成,那么 DHCP 的示例是什么(关于 DHCP 设置)
提前感谢您的任何帮助和建议!
答案1
您不应该/etc/resolv.conf
在 Ubuntu 中编辑。
Ubuntu 正在使用当 DNS 信息被 DHCP 客户端、NetworkManager 或 更改时resolvconf
生成的程序。/etc/resolv.conf
ifup
最好的办法是添加
dns-nameservers 192.168.3.45 192.168.8.10
到您的 中的相应节/etc/network/interfaces
。进行此更改后,您通常必须ifdown
和ifup
要将信息推送到的界面resolvconf
,从而/etc/resolv.conf
,但可以在没有下载的情况下推送信息,如以下答案中所述,它还提供了一些可能对您有帮助的背景信息。
更改 /etc/network/interfaces 后,如何让 resolvconf 重新生成 resolv.conf?