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)
酷番叔酷番叔
上一篇 2025年7月23日 20:44
下一篇 2025年7月23日 20:56

相关推荐

  • Linux如何实现开机自启动?

    在Linux系统中,实现开机自启动是常见需求,无论是服务、脚本还是应用程序,都需要在系统启动时自动运行,无需手动干预,本文将详细介绍几种主流的开机自启动方法,涵盖不同Linux发行版和场景需求,Systemd服务管理(现代Linux发行版主流方法)Systemd是目前大多数Linux发行版(如Ubuntu 16……

    2025年9月16日
    2.2K00
  • Linux如何修改用户名和密码?

    在Linux系统中,修改用户名和密码是常见的系统管理操作,通常涉及权限管理、文件配置及系统验证机制,本文将详细说明Linux环境下修改用户名和密码的具体步骤、注意事项及常见问题解决方案,帮助用户安全、高效地完成操作,Linux用户密码修改方法Linux系统的密码存储在/etc/shadow文件中,该文件仅对ro……

    2025年9月10日
    16200
  • Linux服务器绑定域名的详细步骤是什么?如何配置DNS解析?

    在Linux服务器上绑定域名是搭建网站或服务的必要步骤,通过将域名指向服务器的公网IP,用户可通过域名访问服务器上的资源,以下是详细操作流程,包含环境准备、域名解析、服务器配置及测试等环节,环境准备服务器与域名:需拥有一台已安装Linux系统(如Ubuntu/CentOS)的服务器,且服务器具有公网IP;同时需……

    2025年10月1日
    15100
  • Linux PPA安装的软件如何运行?

    在Linux系统中,尤其是基于Debian或Ubuntu的发行版中,PPA(Personal Package Archive,个人软件包归档)是一种由第三方开发者或社区维护的软件源机制,它允许用户安装官方软件源中未包含的软件版本,或提供特定功能的定制化软件,理解PPA如何运行安装的软件,需要从其工作原理、安装流……

    2025年8月24日
    19400
  • 在Linux操作系统中,如何查看当前系统有几块物理网卡设备?

    在Linux系统中,查看网卡数量是网络管理的基础操作,无论是排查网络问题、配置网络服务还是监控系统状态,都需要准确掌握网卡的识别信息,Linux提供了多种命令和工具来查看网卡信息,下面将详细介绍几种常用方法,帮助用户全面了解如何识别系统中的网卡数量及类型,使用ip命令(推荐方法)ip命令是iproute2工具包……

    2025年10月9日
    24200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信