修改/etc/resolv.conf后无法生效
时间: 2023-12-09 08:06:59 浏览: 79
如果修改了`/etc/resolv.conf`文件后没有生效,可能有以下几种原因:
1. 网络管理器影响了配置文件:如果你的系统使用了网络管理器(例如NetworkManager),则该服务可能会自动更改`/etc/resolv.conf`文件。你可以在`/etc/NetworkManager/NetworkManager.conf`文件中的`[main]`部分添加`dns=none`来禁用此功能。
2. 系统更新DNS配置:某些Linux发行版(例如Ubuntu)在每次启动时都会更新`/etc/resolv.conf`文件。这通常是通过`resolvconf`服务完成的。你可以使用以下命令来停止此服务:`sudo service resolvconf stop`。
3. 使用了静态IP地址:如果你使用静态IP地址,则必须手动编辑`/etc/resolv.conf`文件并添加正确的DNS服务器IP地址。
4. 文件权限问题:请确保你有足够的权限编辑`/etc/resolv.conf`文件。你可以使用以下命令来检查和更改文件权限:`ls -l /etc/resolv.conf`和`sudo chmod 644 /etc/resolv.conf`。
5. 其他问题:如果以上方法都无法解决问题,则可能存在其他问题,例如网络配置问题或DNS服务器配置问题。你可以尝试重新启动网络服务或联系你的网络管理员寻求帮助。
相关问题
ubuntu无法修改 /etc/resolv.conf
你可以尝试使用以下方法来修改`/etc/resolv.conf`文件:
1. 使用管理员权限打开终端。
2. 运行以下命令以备份当前的`resolv.conf`文件:`sudo cp /etc/resolv.conf /etc/resolv.conf.bak`
3. 使用文本编辑器(如`nano`或`vi`)以管理员权限打开`resolv.conf`文件:`sudo nano /etc/resolv.conf`
4. 编辑该文件并更改相关设置。你可以添加或修改DNS服务器的IP地址。例如,添加Google Public DNS的IP地址是:
```
nameserver 8.8.8.8
nameserver 8.8.4.4
```
5. 保存文件并退出编辑器。
6. 运行以下命令以确保更改生效:`sudo systemctl restart networking.service`
请注意,某些网络管理工具(如NetworkManager)可能会自动更新`resolv.conf`文件。如果你使用这样的工具,请查阅相关文档以了解如何正确配置DNS设置。
/etc/resolv.conf 修改后重启无效
如果你修改了 `/etc/resolv.conf` 文件但重启后仍然无效,可能是因为你的系统使用了 NetworkManager 服务来管理网络配置。NetworkManager 可能会覆盖 `/etc/resolv.conf` 文件中的设置。
要让修改生效,可以尝试以下方法:
1. 使用 NetworkManager 命令行工具 nmcli 修改 DNS 配置。例如,运行以下命令将 DNS 服务器设置为 8.8.8.8:
```
nmcli con mod <connection_name> ipv4.dns "8.8.8.8"
```
其中 `<connection_name>` 是你要修改的连接的名称。
2. 将 `/etc/resolv.conf` 文件设置为只读,以防止 NetworkManager 覆盖该文件。运行以下命令:
```
sudo chattr +i /etc/resolv.conf
```
这会将 `/etc/resolv.conf` 文件设置为只读,并且只有当你使用 `sudo chattr -i /etc/resolv.conf` 命令取消只读属性后才能修改该文件。
3. 禁用 NetworkManager 服务并使用传统的网络配置方法。这种方法可能需要更多的配置和管理工作,但可以确保你的 DNS 设置不会被覆盖。
你可以通过运行以下命令禁用 NetworkManager:
```
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
```
然后,你可以使用 `/etc/network/interfaces` 文件来配置网络接口和 DNS 设置。例如,你可以添加以下行以设置 DNS 服务器:
```
dns-nameservers 8.8.8.8
```
然后,重启网络服务以使更改生效:
```
sudo systemctl restart networking
```