ubuntu下resolv.conf文件的自动覆盖问题

转载自:http://www.2cto.com/os/201305/215023.html

ubuntu下resolv.conf文件的自动覆盖问题
 
如果有多块网卡,其中一个局域网网卡设置为dhcp时,如果安装了多事的resol vconf,它会将负责配置nameserver的resolv.conf文件清空。
 
最简单的办法就是在文件
 
/etc/resolvconf/resolv.conf.d/head(或者base、tail这三个文件均可)
 
中加入所需的域名服务器:nameserver xxx.xxx.xxx.xxx
 
然后使用命令更新:resolvconf -u
 
如果联网的网卡具有静态ip,也可以修改/etc/network/interfaces文件,
 
在需要设置dns的网卡配置后面追加:
 
dns-nameservers xxx.xxx.xxx.xxx之类信息
### 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、付费专栏及课程。

余额充值