每次重启电脑后/etc/resolv.conf文件都会被重置,导致无法上网,需要手动修改后才行,有没有办法让这个文件不被重置啊
sudo vim /etc/resolvconf/resolv.conf.d/base
添加以下内容(随便一个就行):
nameserver 114.114.114.114
nameserver 114.114.115.115
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 223.5.5.5
nameserver 223.6.6.6
如果有多个DNS就一行一个
修改好保存,然后执行:
sudo resolvconf -u
此时再看/etc/resolv.conf文件,最下面就多了以下内容:
jie@jie:$ cat /etc/resolv.conf
# 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
nameserver 114.114.114.114
nameserver 114.114.115.115
nameserver 8.8.8.8
现在此DNS已经生效了,无需重启,当然重启也不会丢失
在Linux系统中,`/etc/resolv.conf` 文件通常用于配置域名系统(DNS)解析。如果每次重启后该文件都被重置,这可能是由于某个服务或脚本在启动时重新生成了这个文件。以下是一些解决此问题的方法:
1. 检查NetworkManager:
如果你的系统使用 `NetworkManager` 来管理网络连接,那么它可能会自动管理 `/etc/resolv.conf` 文件。你可以通过编辑 `/etc/NetworkManager/NetworkManager.conf` 文件来禁用这个行为。在该文件的 `[main]` 部分,添加或修改以下行:
```ini
[main]
dns=none
```
然后重启 `NetworkManager` 服务或整个系统来使更改生效。
2. 检查systemd-resolved:
如果你的系统使用 `systemd-resolved` 作为DNS解析器,它也会管理 `/etc/resolv.conf` 文件。你可以配置 `systemd-resolved` 使用静态DNS服务器,而不是在每次启动时动态生成 `/etc/resolv.conf`。这可以通过编辑 `/etc/systemd/resolved.conf` 文件并设置 `DNS=` 选项来实现。
例如:
```ini
[Resolve]
DNS=8.8.8.8 8.8.4.4
```
然后重新加载 `systemd-resolved` 的配置并重启服务:
```bash
sudo systemctl daemon-reload
sudo systemctl restart systemd-resolved
```
或者简单地重启系统。
3. 使用静态resolv.conf:
你可以将 `/etc/resolv.conf` 设置为一个静态文件,而不是由某个服务来管理。这可以通过将 `/etc/resolv.conf` 替换为一个符号链接到一个静态文件来实现,或者确保没有任何服务或脚本覆盖它。
例如,你可以创建一个静态的DNS配置文件:
```bash
sudo nano /etc/resolv.conf.static
```
然后添加你的DNS服务器:
```
nameserver 8.8.8.8
nameserver 8.8.4.4
```
接着,将 `/etc/resolv.conf` 替换为一个指向静态文件的符号链接:
```bash
sudo rm /etc/resolv.conf # 删除现有的resolv.conf(如果有的话)
sudo ln -s /etc/resolv.conf.static /etc/resolv.conf
```
请注意,这种方法可能会阻止某些网络管理工具正常工作,因为它们期望能够修改 `/etc/resolv.conf` 文件。
4. 检查其他网络管理工具或脚本:
有时,特定的网络管理工具或系统脚本可能会在启动时重置 `/etc/resolv.conf`。检查是否有这样的工具或脚本,并查阅其文档以了解如何配置它们以不覆盖 `/etc/resolv.conf`。
5. 使用版本控制或备份:
如果你无法阻止 `/etc/resolv.conf` 被重置,但知道每次需要的内容,你可以考虑使用版本控制(如 `git`)或定期备份该文件。这样,当它被重置时,你可以轻松地恢复到所需的状态。
解决方法在ifcfg-eth0 直接加入DNS1=xxx.xxx.xxx.xxx,再service network restart
加入交流群
请使用微信扫一扫!