ubuntu下resolv.conf文件不能被保存问题(被覆盖及处理方法)

本文介绍了如何解决开机后丢失DNS配置的问题。通过编辑『base』文件并加入DNS服务器地址,然后重启网络服务来确保配置不会丢失。

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

问题分析:

将nameserver xxx.xxx.xxx.xxx配置到/etc/resolv.conf后,每次开机nameserver就不见了。

最初以为是不能被保存,后经过反复排查,发现是因为开机是被某个文件给覆盖了。

察看被覆盖文件的内容为:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
最后发现某个文件其实是两个文件:

/etc/resolvconfi/resolv.conf.d/下的 『base』和『head』文件



处理方法:

1、编辑base文件,加入dns服务器,格式如下:

sudo vi /etc/resolvconf/resolv.conf.d/base

nameserver 202.96.128.86

2、重启网络服务

/etc/init.d/networking restart

### Ubuntu 修改 `/etc/resolv.conf` 不生效的解决方案 在 Ubuntu 系统中,直接修改 `/etc/resolv.conf` 文件可能无法达到预期效果,因为该文件通常由系统服务动态生成和管理。以下是针对不同场景的具体解决方案: #### 1. 使用 `resolvconf` 服务 如果系统启用了 `resolvconf` 服务,则 `/etc/resolv.conf` 的内容会在每次重启或网络状态变化时被自动更新为默认值[^1]。因此,为了使自定义 DNS 配置生效,应通过 `resolvconf` 工具进行配置。 具体操作如下: - 编辑 `/etc/network/interfaces` 或者对应的网络接口配置文件(如 `/etc/netplan/*.yaml`),添加所需的 DNS 地址。 - 将这些更改传递给 `resolvconf`,使其重新生成 `/etc/resolv.conf` 文件。 示例命令: ```bash sudo echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base sudo resolvconf -u ``` #### 2. 使用 `systemd-resolved` 对于现代版本的 Ubuntu(例如 Ubuntu 20.04 及更高版本),`/etc/resolv.conf` 是由 `systemd-resolved` 动态生成的[^2]。在这种情况下,建议使用 `systemd-resolved` 来管理和配置 DNS 解析器。 具体步骤如下: - 编辑 `/etc/systemd/resolved.conf` 文件,启用并指定自定义的 DNS 服务器地址。 - 应用更改后,重启 `systemd-resolved` 和相关网络服务。 示例配置: ```ini [Resolve] DNS=8.8.8.8 8.8.4.4 FallbackDNS= Domains=~. LLMNR=no MulticastDNS=no Cache=yes DHCP=yes ``` 应用配置: ```bash sudo systemctl restart systemd-resolved.service ``` #### 3. 在 WSL 环境下的特殊处理 当运行的是 Windows Subsystem for Linux (WSL) 上的 Ubuntu 时,由于其特殊的集成机制,默认会定期同步主机系统的 DNS 配置到 `/etc/resolv.conf` 中[^3]。这可能导致手动修改后的配置被频繁覆盖。 解决办法是编辑 WSL 的全局配置文件 `/etc/wsl.conf`,禁用 `generateResolvConf` 选项,从而防止自动重写行为发生。 示例配置: ```ini [network] generateResolvConf = false ``` 保存上述设置之后退出当前终端再重新打开即可完成加载新参数的效果;接着就可以自由调整自己的 `/etc/resolv.conf` 而不用担心再次丢失设定啦! --- #### 总结 无论是在传统桌面版还是服务器端安装的 Ubuntu,亦或是基于微软平台上的子系统形式存在,都需要遵循各自对应的服务逻辑来进行正确有效的定制化操作才能让所期望的结果得以体现出来。以上三种方式分别适用于不同的环境需求,请根据实际情况选取合适的策略实施部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值