5154

Good Luck To You!

怎样在liunx中更改dns

Linux中更改DNS可通过编辑/etc/resolv.conf文件实现,添加或修改nameserver条目即可

Linux系统DNS配置全解析

为什么需要修改DNS?

加速域名解析速度(如使用国内公共DNS)
绕过运营商劫持或过滤
解决特定域名访问异常问题
✅ **实现企业内部私有域解析


主流发行版的通用方案(以Ubuntu/Debian为例)

方法1️⃣:通过图形界面设置(GNOME桌面环境)

  1. 点击右上角网络图标 → "有线/无线连接设置"
  2. 选择对应网卡 → 点击齿轮状⚙️按钮进入详情页
  3. 切换到「IPv4」标签页 → 将方法改为「自动(DHCP)地址仅用于此配置文件」
  4. 点击📋添加按钮输入新DNS服务器地址(例:114.114.114, 8.8.8
  5. 保存后重启网络服务:sudo systemctl restart NetworkManager

💡提示:该方式修改的是NetworkManager管理的动态配置,重启后可能失效

方法2️⃣:命令行永久修改(推荐生产环境使用)

步骤A:编辑主配置文件/etc/resolv.conf
# 备份原始文件(重要!)
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
# 清空原有内容后写入新配置
echo "nameserver 223.5.5.5" | sudo tee /etc/resolv.conf > /dev/null
echo "nameserver 223.6.6.6" >> /etc/resolv.conf  # 可添加多个备用DNS

⚠️注意:直接修改此文件在某些系统中会被网络管理器覆盖!

步骤B:创建自定义配置文件(更稳定方案)
# 新建专属配置片段
sudo nano /etc/netplan/customdns.yaml如下:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      nameservers:
        addresses: [223.5.5.5, 223.6.6.6]
# 应用新配置
sudo netplan apply

此方法通过Netplan实现持久化配置,适合Ubuntu Server等现代发行版。

怎样在liunx中更改dns


RedHat系发行版特殊处理(CentOS/Fedora)

对于基于networkmanager的服务:

# 查看当前连接名称
nmcli connection show
# 修改指定连接的DNS(示例:eno1接口)
nmcli connection modify eno1 ipv4.dns "119.29.29.29 1.2.4.8"
# 立即生效并重启服务
nmcli connection up eno1
systemctl restart NetworkManager

🔍验证工具:使用dig @新DNS地址 domainname测试解析效果


企业级多节点部署方案对比表

方案类型 优点 缺点 适用场景
/etc/hosts 本地快速强制解析 无法递归查询上级DNS 临时测试/内网调试
Systemdresolved 智能缓存+并行查询 配置较复杂 容器化环境最佳实践
Unbound 安全增强型递归解析器 需额外安装依赖包 注重隐私的安全敏感场景
BIND 专业级权威DNS搭建 运维成本高 自建数据中心级架构

常见问题排查手册

当遇到以下症状时应按序检查: ❶ ping google.com超时但能ping通IP → DNS故障特征明显
nslookupdig结果不一致 → 存在多级代理干扰
journalctl u unbound查看守护进程日志(针对Systemd系统)
tcpdump port 53抓包分析实际发出的请求包

怎样在liunx中更改dns


进阶技巧:搭建本地缓存DNS集群

对于高性能需求场景,可采用以下架构:

客户端 → [Unbound(本机)] → [Cloudflare(上游)] + [Quad9(备用)]

配置示例:

server:
    verbosity: 1
interface: 127.0.0.1
port: 5335
donotfilterprivateaddresses: no
accesscontrol: ::1 allow
forwarding: enable
forwardaddr: 1.1.1.1@cloudflare      # 主用Cloudflare Family Protection
forwardaddr: 9.9.9.9@quad9          # 备用去广告安全DNS
cachesize: 8388608                   # 8MB缓存空间
prefetch: enable                     # 预加载热门域名

启动服务:unbound c /path/to/config.conf

怎样在liunx中更改dns


相关问题与解答❓

Q1:修改后的DNS没有立即生效怎么办?
✅解决方案:①执行systemctl restart systemdresolved;②检查防火墙是否放行UDP/TCP的53端口;③确认不存在多个冲突的resolv.conf文件(使用find / name "resolv.conf"全盘搜索)。

Q2:如何同时保留原有公共DNS作为备选?
✅推荐做法:在配置文件中按优先级顺序排列多个nameserver条目,

nameserver 223.5.5.5      # 阿里DNS(首选)
nameserver 8.8.8.8        # Google公共DNS(次选)
nameserver 114.114.114.114 # 中国互联网络信息中心CNNIC(最后兜底)
```系统会自动尝试

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年9月    »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.