You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04.1 DNS服务器配置反复被覆盖的问题求助

Ubuntu 22.04.1 DNS服务器配置反复被覆盖的问题求助

我太懂你这种反复折腾却一直被重置的崩溃感了,刚升级完系统就碰到这种糟心事,换谁都得上火!咱们先理清楚问题根源:你的/etc/resolv.conf是软链接到Valet Linux的配置文件,每次开关WiFi时,Valet会自动重置这个文件里的DNS设置——因为Valet本身依赖本地的127.0.0.1 DNS来处理本地开发域名(比如.test或.dev),它会主动维护这个配置,所以你手动改完根本留不住。

下面给你几个针对性的解决方案,你可以根据自己的需求选:

方案一:修改Valet的DNS转发配置(保留Valet的前提下)

Valet的本地DNS其实可以把非本地域名的请求转发到公共DNS,咱们直接改它的配置让它默认用你想要的服务器:

  1. 打开Valet的DNS配置文件,一般在/opt/valet-linux/config/valet-dns.conf(找不到的话可以用find /opt/valet-linux -name "*.conf"搜索)
  2. 在文件里找到forwarders配置段,改成:
    forwarders {
        8.8.8.8;
        8.8.4.4;
    };
    
  3. 重启Valet服务:valet restart
    这样Valet既可以继续处理本地开发域名,又会把其他请求转发到谷歌DNS,而且开关WiFi时也不会再重置配置了。

方案二:卸载Valet(如果不需要本地开发环境的话)

要是你现在不用Valet做开发了,直接卸载它一了百了:

  1. 运行卸载命令:valet uninstall
  2. 把/etc/resolv.conf改回系统默认的软链接:
    sudo rm /etc/resolv.conf
    sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  3. 之后在NetworkManager里重新配置DNS(或者直接用DHCP自动获取),就不会再被篡改了。

方案三:强制NetworkManager接管DNS(和Valet共存的折中方案)

如果你既要用Valet,又想让系统DNS不受WiFi开关影响,可以试试让NetworkManager固定DNS设置:

  1. 打开系统设置 → 网络 → 找到你的WiFi连接,点击右侧齿轮图标进入详情
  2. 切换到「IPv4」标签页,把DNS设置从「自动」改成「手动」,添加8.8.8.8和8.8.4.4
  3. 勾选「忽略自动获取的DNS」选项,保存设置
  4. 编辑/etc/NetworkManager/NetworkManager.conf,在[main]段添加:
    dns=none
    
    然后重启NetworkManager:sudo systemctl restart NetworkManager
    这个方法会让NetworkManager固定使用你设置的DNS,同时Valet的本地DNS依然可以处理开发域名。

你可以先试试方案一,毕竟如果还要用Valet的话这是最稳妥的。要是还是不行,再考虑卸载或者折中方案。

备注:内容来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:28:10