Linux如何一键设置DNS提速?所有发行版适用

DNS的作用与配置原理

DNS(域名系统)将域名(如 www.example.com)转换为IP地址,Linux通过以下文件管理DNS:

  • /etc/resolv.conf:存储DNS服务器地址(临时修改可能被覆盖)。
  • /etc/systemd/resolved.conf:systemd系统的永久配置。
  • 网络配置文件:如Netplan、NetworkManager的配置文件(永久生效)。

永久配置方法(重启后生效)

使用Netplan(Ubuntu 18.04+)

sudo nano /etc/netplan/01-netcfg.yaml

修改配置(示例使用Cloudflare DNS):

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [1.1.1.1, 1.0.0.1]  # 设置DNS地址

应用配置:

sudo netplan apply

修改NetworkManager配置(CentOS/RHEL/Fedora)

sudo nmcli con mod "连接名" ipv4.dns "1.1.1.1 1.0.0.1"
sudo nmcli con up "连接名"  # 激活配置

手动编辑配置文件(传统方法)

  • Debian/Ubuntu
    编辑 /etc/network/interfaces

    iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 1.1.1.1 1.0.0.1

    重启网络:sudo systemctl restart networking

  • CentOS 7
    编辑 /etc/sysconfig/network-scripts/ifcfg-eth0

    DNS1=1.1.1.1
    DNS2=1.0.0.1

    重启服务:sudo systemctl restart network


临时配置方法(重启失效)

直接修改 /etc/resolv.conf

sudo nano /etc/resolv.conf

添加:

nameserver 1.1.1.1
nameserver 8.8.8.8

⚠️ 注意:某些系统(如Ubuntu)重启后会被覆盖。

使用 resolvconf 工具(Debian系)

echo "nameserver 9.9.9.9" | sudo resolvconf -a eth0

使用systemd-resolved(现代Linux通用)

编辑配置文件:

sudo nano /etc/systemd/resolved.conf

取消注释并修改:

[Resolve]
DNS=1.1.1.1 8.8.8.8
Domains=example.com

重启服务:

sudo systemctl restart systemd-resolved

验证DNS配置

  1. 检查当前DNS
    cat /etc/resolv.conf  # 查看生效的DNS
    systemd-resolve --status  # systemd系统专用
  2. 测试解析
    nslookup google.com
    dig +short example.com

常见问题解决

  • DNS被覆盖
    禁用覆盖机制(Ubuntu):

    sudo rm /etc/resolv.conf
    sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
  • 网络重启失效
    确保使用永久配置方法(如Netplan或NetworkManager),而非直接修改resolv.conf

  • DNS响应慢
    更换公共DNS(推荐:Cloudflare 1.1.1、Google 8.8.8、Quad9 9.9.9)。


安全建议

  1. 优先使用加密DNS
    在支持的工具(如systemd-resolved)中配置DNS-over-TLS:

    [Resolve]
    DNS=1.1.1.1
    DNSOverTLS=yes
  2. 防火墙放行DNS
    允许UDP/TCP端口53:

    sudo ufw allow 53/tcp
    sudo ufw allow 53/udp

  • 临时测试:修改 /etc/resolv.conf
  • 永久配置
    • Ubuntu 18.04+ → Netplan
    • CentOS/RHEL → NetworkManager或ifcfg文件
    • 通用方案 → systemd-resolved
  • 企业环境:建议部署本地DNS缓存(如dnsmasq)提升效率。

引用说明:本文内容参考Linux官方文档(kernel.org)、Ubuntu Manpage(manpages.ubuntu.com)及Cloudflare公共DNS文档(1.1.1),配置命令已在Ubuntu 22.04、CentOS 9及Debian 12实测验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8374.html

(0)
酷番叔酷番叔
上一篇 2天前
下一篇 2天前

相关推荐

  • 哪个快捷键能一键终止程序?

    在Linux系统中,ping命令是网络诊断的常用工具,用于测试主机之间的连通性,它通过发送ICMP数据包并等待响应来工作,默认情况下,ping会持续运行直到手动停止,以下是结束ping操作的几种方法,适用于不同场景:操作:按下组合键 Ctrl + C(Control键 + C键),原理:向当前终端的前台进程发送……

    2025年6月13日
    1900
  • 关键时刻,数据备份如何救你一命?

    在Linux系统中,快照(Snapshot)是一种记录文件系统或磁盘卷在某一时刻状态的技术,常用于数据备份、系统恢复或测试环境搭建,它能快速捕获当前数据状态,后续变更不会影响快照内容,以下是Linux实现快照的三种主流方法,操作步骤基于实际生产环境验证,确保安全可靠,数据保护:误删文件或系统崩溃时,可快速回滚到……

    2025年6月27日
    1300
  • 如何在文本编辑器中显示行号?

    文本编辑器显示行号功能便于快速定位、编辑特定行内容,极大提升代码调试和文档修订效率,对程序员而言,这是追踪错误、协作沟通的关键工具;对于一般文本处理,也能更精确地导航和修改。

    2025年6月21日
    1700
  • Linux如何配置静态动态IP?命令与文件双方法

    基础概念网卡命名规则传统命名:eth0、eth1(旧版本)可预测命名:enp0s3(以太网)、wlp2s0(无线,新版本通用)查看网卡名称:ip link show 或 ls /sys/class/net关键配置文件路径Ubuntu/Debian:/etc/network/interfacesCentOS/RH……

    2025年7月6日
    1600
  • 如何安全使用root权限?

    临时获取root权限(推荐)使用 sudo 命令原理:临时以root身份执行单条命令,普通用户需被授权(在/etc/sudoers中配置),操作: sudo <命令> # sudo apt update输入当前用户密码验证身份,优点:操作可审计(记录在/var/log/auth.log),安全性高……

    2025年6月14日
    1800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信