/etc/resolv.conf 修改后如何生效
时间: 2024-01-01 10:05:36 浏览: 42
在修改完 `/etc/resolv.conf` 文件后,需要重启网络服务或者使用以下命令使修改生效:
1. 重启网络服务
使用以下命令重启网络服务:
- CentOS/RHEL 6.x
```
service network restart
```
- CentOS/RHEL 7.x
```
systemctl restart network
```
- Ubuntu/Debian
```
service networking restart
```
2. 使用命令使修改生效
使用以下命令使修改生效:
```
sudo systemctl restart NetworkManager
```
注意:与其它 Linux 发行版不同,Ubuntu 和 Debian 默认使用 NetworkManager 管理网络服务,所以需要使用以上命令使修改生效。如果你使用的是其它 Linux 发行版,请根据实际情况选择合适的命令。
相关问题
修改/etc/resolv.conf后无法生效
如果修改了`/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服务器配置问题。你可以尝试重新启动网络服务或联系你的网络管理员寻求帮助。
/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
```