linux解决resolv.conf重启之后会自动还原的问题的几种方法

在 Ubuntu 系统中,/etc/resolv.conf 文件的内容在重启后会被自动还原,通常是因为该文件由系统的网络管理服务(如 NetworkManager 或 systemd-resolved)动态生成和管理。要防止其重启后被自动还原,你可以尝试以下几种解决方法:

问题分析

  1. /etc/resolv.conf 文件用于存储DNS服务器和搜索域信息。在传统系统中,手动编辑这个文件可以配置DNS。
  2. systemd-resolved 是一个用于管理DNS解析的服务。它动态地更新 /etc/resolv.conf,并将DNS请求转发给上游DNS服务器。
  3. 符号链接:如果你直接修改 /etc/resolv.conf,更改会丢失,因为它指向 /run/systemd/resolve/stub-resolv.conf(一个动态文件,每次重启会更新)。

让 /etc/resolv.conf 永久生效的方法

方法1:禁用 systemd-resolved

如果你不希望 systemd-resolved 管理DNS,并希望使用自己配置的 DNS 信息:

  1. 停止并禁用 systemd-resolved

    sudo systemctl stop systemd-resolved
    sudo systemctl disable systemd-resolved
    
  2. 删除符号链接:

    sudo rm /etc/resolv.conf
    
  3. 创建新的静态 /etc/resolv.conf 文件:

    sudo nano /etc/resolv.conf
    

    在文件中添加你需要的DNS服务器,例如:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  4. 锁定 /etc/resolv.conf 防止意外修改: 如果其他服务可能覆盖它,可以设置文件锁:

    sudo chattr +i /etc/resolv.conf

    这会让文件变成不可变,避免被其他程序或服务修改。

  5. 保存并退出。


方法2:保持 systemd-resolved 但指定自定义 DNS

如果你希望继续使用 systemd-resolved,但需要自定义 DNS 配置:

  1. 创建 /etc/systemd/resolved.conf.d/dns.conf 配置文件:

    sudo mkdir -p /etc/systemd/resolved.conf.d
    sudo nano /etc/systemd/resolved.conf.d/dns.conf
    
  2. 添加 DNS 服务器配置:

    [Resolve]
    DNS=8.8.8.8 8.8.4.4
    FallbackDNS=1.1.1.1 1.0.0.1
    
  3. 重启 systemd-resolved 服务:

    sudo systemctl restart systemd-resolved
    
  4. 检查是否生效:

    resolvectl status
    

方法3:将 /etc/resolv.conf 指向自定义文件

如果你希望使用自己的 DNS 配置,但又不想完全禁用 systemd-resolved

  1. 创建一个静态 /etc/resolv.conf 文件:

    sudo nano /etc/resolv-custom.conf
    

    内容如下:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  2. 用符号链接替换默认 /etc/resolv.conf

    sudo ln -sf /etc/resolv-custom.conf /etc/resolv.conf
    

总结

  • 如果你希望完全自己管理DNS,建议禁用 systemd-resolved 并创建静态 /etc/resolv.conf
  • 如果你希望保持 systemd-resolved 运行,但使用自定义DNS,则可以通过配置文件更改它的行为。
  • 检查生效情况时,可以使用:
    resolvectl status
    

根据你的需求选择合适的方案即可让 DNS 配置永久生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吻等离子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值