嵌入式/etc/resolv.conf修改不生效systemd
时间: 2024-10-11 18:06:19 浏览: 44
解决Cent0S 6.7直接在/etc/resolv.conf文件下修改DNS地址重启不生效问题
5星 · 资源好评率100%
嵌入式系统的`/etc/resolv.conf`文件通常用于配置DNS解析,如果系统采用Systemd作为初始化管理系统,有时候更改这个文件并不直接导致DNS设置生效。因为Systemd会有一个自己的DNS缓存服务,比如`NetworkManager`或`system-resolve`,它们可能会优先读取网络连接的具体配置。
当`resolv.conf`修改后,为了使其立即生效,你可以尝试以下步骤:
1. **重启DNS服务**:运行命令`sudo systemctl restart systemd-resolved` 或 `sudo systemctl restart network-manager`,这将强制应用新的DNS设置。
2. **刷新DNS缓存**:使用`sudo ip -4 addr flush cache` 或 `sudo ip -6 addr flush cache` 清空本地DNS缓存。
3. **检查环境变量**:确认你的应用程序是否设置了环境变量`LD_LIBRARY_PATH`或`DYLD_FALLBACK_DOMAINS`等影响DNS查找的地方,如果有,也需要更新。
4. **检查网络连接**:确保网络连接已经更新了新的DNS配置,并且网络连接服务(如dhclient或NetworkManager)已重新启动。
5. **验证修改**:在终端中输入`nslookup` 或 `ping` 网络地址来看看DNS解析是否成功。
阅读全文