debian重启后,如何使dns固定不变

726
1

在Debian或其他基于Linux的系统中,DNS 设置(/etc/resolv.conf)通常在重启后会被重置,特别是在使用 DHCP 时。要确保 DNS 设置在重启后保持不变,你可以手动配置静态 DNS 地址。

查看是否有其他软件在管理DNS,如resolvconf:ls -l /etc/resolv.confDigitalocean(简称DO,可使用本站推广链接购买云服务器)会有resolvconf,以下介绍如何卸载resolvconf。

卸载 resolvconf

  1. 打开终端: 打开你的 Linux 终端。
  2. 卸载 resolvconf
  3. 使用以下命令来卸载 resolvconfsudo apt-get remove --purge resolvconf
  4. 检查并恢复 /etc/resolv.conf
    • 在卸载 resolvconf 后,你需要确保 /etc/resolv.conf 文件是实际的文件,而不是符号链接。首先检查该文件的状态:ls -l /etc/resolv.conf
    • 如果它仍然是一个符号链接,你可以删除该链接并创建一个新的文件:sudo rm /etc/resolv.conf sudo touch /etc/resolv.conf
    • 编辑新的 /etc/resolv.conf 文件,添加你的 DNS 服务器设置:sudo nano /etc/resolv.conf 在文件中添加如下内容:
    • nameserver 8.8.8.8
    • nameserver 8.8.4.4
    • 替换 8.8.8.88.8.4.4 为你选择的 DNS 服务器地址。
  5. 防止 /etc/resolv.conf 被自动修改: 一些网络服务可能会试图自动修改 /etc/resolv.conf。要防止这种情况,你可以设置该文件为只读:sudo chattr +i /etc/resolv.conf 这将防止任何进程修改 /etc/resolv.conf 文件。
  6. 如果出现:chattr: Operation not supported while reading flags on /etc/resolv.conf,是因为符号链接还没删除。
  7. 如果未来需要修改它,使用 sudo chattr -i /etc/resolv.conf 来移除只读属性。

完成这些步骤后,resolvconf 将被从系统中移除,并且你将能够直接管理你的 DNS 设置。

配置 DHCP 客户端

如果你使用的是 dhclient,可以修改其配置文件来忽略从 DHCP 服务器接收到的 DNS 设置。

  1. 编辑 dhclient 配置: 编辑 /etc/dhcp/dhclient.confsudo nano /etc/dhcp/dhclient.conf
  2. 添加忽略 DNS 服务器的指令: 在文件中添加或修改以下行:supersede domain-name-servers 208.67.222.222, 208.67.220.220; 这会让 dhclient 忽略从 DHCP 服务器收到的 DNS 服务器地址,改为使用你指定的地址。
  3. 重启网络服务: 重启网络服务或重新连接网络以使更改生效:sudo systemctl restart networking.service

以上是思科的DNS,你也可以改成自己的DNS服务器。

Leave a Reply to Linux 使用 DNS over HTTPS (DoH) 教程 – CHATPHP Cancel reply

Your email address will not be published. Required fields are marked *

One thought on “debian重启后,如何使dns固定不变

  1. […] /etc/resolv.conf。你可以参考本站如何固定dns,或使 resolv.conf […]