VPS如何永久修改DNS?_详细教程教你三种主流方法

如何永久修改VPS的DNS设置?

修改方法 适用系统 修改位置 生效方式
修改/etc/resolv.conf Linux 配置文件 重启后失效
修改NetworkManager配置 CentOS/RHEL 7+ /etc/NetworkManager/ 永久生效
修改systemd-resolved Ubuntu 18.04+ /etc/systemd/resolved.conf 永久生效
修改注册表 Windows HKEYLOCALMACHINE 需要重启

VPS永久修改DNS的完整指南

在VPS上修改DNS设置是常见的网络配置需求,但许多用户发现临时修改后重启会失效。本文将详细介绍三种主流Linux系统的永久修改方法,并提供常见问题解决方案。

主要修改方法

方法 适用系统 优点 缺点
NetworkManager CentOS/RHEL 7+ 官方推荐,稳定性高 配置较复杂
systemd-resolved Ubuntu 18.04+ 集成度高,管理方便 不支持老旧系统
修改resolv.conf 所有Linux 简单直接 重启后可能失效

详细操作步骤

方法一:使用NetworkManager(CentOS/RHEL 7+)

  1. 编辑配置文件
   sudo vi /etc/NetworkManager/conf.d/dns.conf
   
添加以下内容:
   [main]
   dns=none
   
  1. 设置自定义DNS
   sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"
   sudo nmcli con up eth0
   
  1. 验证配置
   cat /etc/resolv.conf
   

方法二:使用systemd-resolved(Ubuntu 18.04+)

  1. 编辑配置文件
   sudo vi /etc/systemd/resolved.conf
   
修改为:
   [Resolve]
   DNS=8.8.8.8 8.8.4.4
   
  1. 启用服务
   sudo systemctl restart systemd-resolved
   sudo systemctl enable systemd-resolved
   
  1. 创建符号链接
   sudo rm /etc/resolv.conf
   sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
   

方法三:传统resolv.conf方法(所有Linux)

  1. 编辑文件
   sudo vi /etc/resolv.conf
   
添加:
   nameserver 8.8.8.8
   nameserver 8.8.4.4
   
  1. 设置只读权限
   sudo chattr +i /etc/resolv.conf
   

常见问题解决方案

问题现象 可能原因 解决方案
修改后重启失效 文件被覆盖 使用chattr设置只读权限
DNS解析速度慢 DNS服务器响应慢 更换为更快的公共DNS
部分网站无法访问 DNS污染或限制 使用DoH/DoT加密DNS
配置后网络连接中断 配置错误 检查语法和IP地址是否正确
修改后立即生效 缓存未更新 执行systemd-resolve --flush-caches

注意事项

  1. 修改前建议备份原始配置文件
  2. 使用公共DNS时注意隐私政策
  3. 企业环境可能需要使用内部DNS服务器
  4. 修改后建议测试解析速度:dig @8.8.8.8 example.com
通过以上方法,您可以确保VPS的DNS修改在重启后仍然保持生效。根据您的系统版本和需求选择最适合的方法即可。

发表评论

评论列表