方法一(推荐)

生成钩子阻止 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 文件

  4. 删除 resolv.conf 文件

    rm -f /etc/resolv.conf
  5. 创建并编辑 resolv.conf 文件

    editor /etc/resolv.conf
  6. 填写上指定的 DNS 服务器

    nameserver 1.1.1.1
    nameserver 1.0.0.1
  7. 设置写保护锁定 resolv.conf 文件

    chattr +i /etc/resolv.conf

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

如果想要解锁可以运行:

chattr -i /etc/resolv.conf