Ubuntu重新夺回对 /etc/resolv.conf 的控制权 解除53端口占用

Ubuntu重新夺回对 /etc/resolv.conf 的控制权 解除53端口占用

如果是 Ubuntu 16.10 或更新的版本,则由 systemd-resolved 服务来管理 DNS,可以使用下面的命令来禁用并立即停止该服务并解除53端口的占用:

systemctl disable --now systemd-resolved.service 
rm /etc/resolv.conf

然后手动创建 /etc/resolv.conf 文件。

创建 /etc/resolv.conf

最后的最后,就是手动创建 /etc/resolv.conf 文件了,建议权限设置为 644。配置示例:

vim /etc/resolv.conf

文件内容如下:

nameserver 114.114.114.114 
nameserver 223.5.5.5
chmod 644 /etc/resolv.conf

当然,除了 nameserver 外,还有其他的参数可以配置,感兴趣可以 man 一下:

man 5 resolv.conf

 

正常来说到这里就结束了 继续深入可以往下看

 

确保 /etc/resolv.conf 不会被覆盖

通过设置只读权限来保护 /etc/resolv.conf 文件:

sudo chattr +i /etc/resolv.conf

这样可以防止文件被意外修改。如果你需要更改 /etc/resolv.conf 文件,可以先取消只读属性:

sudo chattr -i /etc/resolv.conf

然后再进行编辑,完成后再次设置只读权限。

配置 NetworkManager

如果你使用 NetworkManager 管理网络连接,需要确保它不会覆盖 /etc/resolv.conf

编辑 NetworkManager 的配置文件:

sudo nano /etc/NetworkManager/NetworkManager.conf

[main] 部分添加或修改以下行:

[main] dns=none

重启 NetworkManager

sudo systemctl restart NetworkManager

这样就可以确保 NetworkManager 不会修改你的 DNS 配置。

检查配置

最后,确认你的 DNS 设置是否生效:

cat /etc/resolv.conf

测试 DNS 是否正常工作:

nslookup example.com

通过以上步骤,你应该能够成功地重新夺回对 /etc/resolv.conf 的控制权并解除 53 端口的占用。


【AD】DMIT优惠码 – 美国洛杉矶CN2 GIA VPS配置升级季付28美元起