Debian 11 永久修改 DNS

Author Avatar
青枫 2022年04月17日
  • 在其它设备中阅读本文章

方法一(推荐)

生成钩子阻止 DHCP 修改 resolv.conf

1. 生成 nodnsupdate 文件并写入代码

cat <<EOF >/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
#!/bin/sh
make_resolv_conf(){
    :
}
EOF

2. 给文件 nodnsupdate 添加可执行权限

chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate

3. 修改 DNS

cat <<EOF >/etc/resolv.conf
nameserver 1.1.1.1
nameserver 8.8.8.8
EOF

Cloudflare 的 1.1.1.1 和谷歌的 8.8.8.8 是 国外的优质 DNS
如果是国内的服务器可以换成阿里的 223.5.5.5 和腾讯的 119.29.29.29

4. 重启系统

reboot

5. 查看 DNS

cat /etc/resolv.conf

方法二

编辑 /etc/network/interfaces 文件

追加一行, 如果有多个 DNS 用空格隔开

cat <<EOF >>/etc/network/interfaces
dns-nameservers 1.1.1.1 8.8.8.8
EOF

方法三

1. 编辑 dhclient.conf 文件

vim /etc/dhcp/dhclient.conf

2. 在最后一行添加下面的内容:

supersede domain-name-servers 1.1.1.1, 8.8.8.8;

3. 重启系统

reboot

方法四

写保护锁定 resolv.conf 文件

1. 删除 resolv.conf 文件

rm -f /etc/resolv.conf

2. 创建并编辑 resolv.conf 文件

editor /etc/resolv.conf

3. 填写上指定的 DNS 服务器

nameserver 1.1.1.1
nameserver 1.0.0.1

4. 设置写保护锁定 resolv.conf 文件

chattr +i /etc/resolv.conf

此时 resolv.conf 文件会被锁定, 重启系统后不会被覆盖。

如果想要解锁可以运行:

chattr -i /etc/resolv.conf
    AAAA
    AAAA  2024-10-29, 13:32

    腾讯的DNS是119.29.29.29 不是 129.29.29.29

      青枫
      青枫  2024-11-26, 15:46

      已修正