Linux 下 NetworkManager 自定义 DNS

在Linux系统中,特别是使用NetworkManager时,修改DNS设置可能会遇到被自动重置的问题。本文介绍了如何通过修改文件权限和使用特定命令来永久设置自定义DNS,以及推荐了一些公共DNS供选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

1. linux设置dns设置ip等通过修改文件

/etc/resolv.conf

 

2. 问题:

cat的时候会发现 # Generated by NetworkManager  有这么一句话。
修改之后,重启电脑发现文件自动还原成了之前的配置,

 

3. 原因:

这是由于networkmanager配置自动修改这个文件的原因。


常规方法


在 Linux (笔者用fedora) 下当使用 NetworkManager时,更改 DNS 的一般方式:



  1. 修改 /etc/resolv.conf 文件, 添加 "nameserver ip" 行.
  2. 修改 /etc/sysconfig/network-scripts/ifcfg-eth0, 添加 "DNS1=ip", "DNS2=IP"...行。
  3. 修改 /etc/sysconfig/networking/....目录下的 ifcfg-eth0 或者 default. 方式同上。

修改完文件后需要运行 "service NetworkManager restart" 重启网络以使设置生效。
另说明linux 服务的管理方法:


service NetworkManager restart | start | stop | status


上面的 NetworkManager 可被其他服务名替换。"|" 隔开的命令可任选其一。


注意:以上修改在 关机再次启动 电脑后会被 NetworkManager重置为默认 isp 的 dns. 即 "generated by NetworkManager".


改进

用 NetworkManager 管理网络设置,并永久自定义 DNS. 可以如下设置:



  1. 修改 /etc/resolv.conf , 添加 "nameserver ip".
  2. 运行 "sudo chattr +i /etc/resolv.conf", 该命令修改文件属性为 只有 root 用户才能修改该文件。去掉可将参数改为 "-i".
  3. 以 root 身份运行 "service NetworkManager restart".

注意:此时 会产生 /etc/resolv.conf.tmp 文件,不必理会。


推荐DNS

Google Public DNS: 8.8.8.8; 8.8.4.4.
Norton DNS: 198.153.192.1; 198.153.194.1.
OpenDNS: 208.67.222.222; 208.67.220.220.


笔者的 /etc/resolv.conf 文件

#此行注释
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 198.153.192.1
nameserver 198.153.194.1
nameserver 208.67.222.222
nameserver 208.67.220.220


### Linux DNS 配置 对于Linux系统的DNS配置,通常可以在`/etc/resolv.conf`文件中指定DNS服务器地址。然而,在某些情况下,如使用NetworkManager或者特定网络接口配置工具时,可能需要在其他位置进行设置[^2]。 当采用静态IP配置方式时,除了定义固定的IP地址、子网掩码和默认网关外,还可以在同一配置文件里加入DNS名称服务器的信息: ```bash auto eth0 iface eth0 inet static address 192.168.1.111 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 10.10.10.10 ``` 如果系统通过DHCP获取网络参数,则一般不需要手动编辑上述内容;但是为了确保即使在网络重启后仍然能够应用自定义的速度和其他属性设定,可以考虑向`/etc/network/interfaces`添加额外指令。 ### 故障排除指南 针对可能出现的DNS解析失败情况,建议按照如下流程来进行初步排查: - **检查本地缓存**:有时问题可能是由于旧有的错误记录被保存下来所引起的。尝试清除nscd(名字服务缓存守护进程)中的缓存数据。 - **验证配置文件语法正确性**:利用命令行工具如`grep`, `cat`查看并确认`resolv.conf`及其他涉及网络连接的部分是否存在拼写失误或其他明显缺陷。 - **测试连通性和响应速度**:借助ping, dig 或者 nslookup 工具来检验能否成功到达目标域名对应的公网IP,并观察查询耗时时长是否合理。 - **查阅日志消息**:分析/var/log/syslog (Debian-based systems)/var/log/messages(RedHat-based systems),寻找任何有关于DNS操作异常的日志条目。 - **禁用防火墙临时测试**:考虑到安全策略可能会阻止外部请求发出,适当调整iptables规则集或暂时关闭防护机制以便进一步定位具体原因所在。 以上措施有助于快速识别潜在的问题根源,从而采取针对性解决方案恢复正常的互联网访问功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值