0

0

Linux怎么配置DNS解析优先顺序

P粉602998670

P粉602998670

发布时间:2025-09-16 14:40:01

|

285人浏览过

|

来源于php中文网

原创

答案是通过NetworkManager或systemd-resolved配置DNS优先级。使用nmcli设置ipv4.dns和ipv4.dns-priority,或编辑resolved.conf文件指定DNS服务器,确保配置生效并排查缓存、防火墙等问题。

linux怎么配置dns解析优先顺序

配置Linux DNS解析优先顺序,其实就是在告诉你的系统,当它需要查找一个域名对应的IP地址时,先问谁,后问谁。这就像你问路,先问熟人,再问路人,一个道理。

/etc/resolv.conf
文件通常是默认的DNS配置入口,但直接修改它并不总是最佳实践,因为某些网络管理工具可能会覆盖你的修改。更可靠的方法是使用
NetworkManager
systemd-resolved
等工具来管理DNS配置。

如何让Linux系统优先使用某个DNS服务器?

首先,我们要区分不同的发行版,因为它们可能使用不同的网络管理工具。对于使用

NetworkManager
的系统(例如 Ubuntu、Fedora),你可以通过图形界面或命令行工具
nmcli
来修改连接的DNS设置。

在图形界面中,找到你的网络连接设置,编辑IPv4设置,将“自动(DHCP)地址”改为“仅手动”,然后添加你希望优先使用的DNS服务器地址。

使用

nmcli
的话,命令如下:

nmcli connection modify  ipv4.dns "8.8.8.8,1.1.1.1"
nmcli connection modify  ipv4.dns-priority 0
nmcli connection up 

其中

是你的网络连接名称,可以使用
nmcli connection show
命令查看。
ipv4.dns
设置DNS服务器地址,多个地址用逗号分隔。
ipv4.dns-priority
设置优先级,数字越小优先级越高。最后,
nmcli connection up
重新激活连接使配置生效。

对于使用

systemd-resolved
的系统(例如 Debian、Arch Linux),你可以编辑
/etc/systemd/resolved.conf
文件,取消注释
DNS=
行,并添加你的DNS服务器地址。

OneAI
OneAI

将生成式AI技术打包为API,整合到企业产品和服务中

下载
DNS=8.8.8.8 1.1.1.1

然后重启

systemd-resolved
服务:

systemctl restart systemd-resolved

需要注意的是,

systemd-resolved
可能会与
NetworkManager
冲突,如果你的系统同时使用了这两个工具,建议使用
NetworkManager
来管理DNS配置。

DNS解析顺序不生效怎么办?

如果配置了DNS解析顺序,但发现并没有生效,可以从以下几个方面排查:

  1. 检查配置文件是否正确:确保
    /etc/resolv.conf
    /etc/systemd/resolved.conf
    NetworkManager
    的配置没有语法错误。可以使用
    resolvectl status
    命令查看
    systemd-resolved
    的状态,检查DNS服务器是否正确配置。
  2. 缓存问题:系统或应用程序可能会缓存DNS解析结果。尝试清除DNS缓存。对于
    systemd-resolved
    ,可以使用
    resolvectl flush-caches
    命令。对于浏览器,通常可以在设置中找到清除DNS缓存的选项。
  3. 防火墙问题:防火墙可能会阻止对某些DNS服务器的访问。确保防火墙允许UDP和TCP端口53的流量。
  4. 网络连接问题:检查网络连接是否正常。尝试ping DNS服务器地址,看是否能够连通。
  5. 工具冲突:确认系统中是否存在多个网络管理工具,例如
    NetworkManager
    dhclient
    ,它们可能会相互干扰。如果存在冲突,建议只使用一个工具来管理网络配置。
  6. 作用域问题:某些应用程序或服务可能会忽略系统的DNS配置,而使用自己的DNS设置。例如,Docker容器默认使用自己的DNS服务器。

如何查看当前系统使用的DNS服务器?

查看当前系统使用的DNS服务器,可以使用以下命令:

  • resolvectl status
    :如果你的系统使用了
    systemd-resolved
    ,这个命令会显示详细的DNS配置信息,包括当前使用的DNS服务器、DNS域名等。
  • nmcli device show 
    :如果你的系统使用了
    NetworkManager
    ,这个命令会显示指定网络接口的详细信息,包括DNS服务器。将
    替换为你的网络接口名称,例如
    eth0
    wlan0
  • cat /etc/resolv.conf
    :这个命令会直接显示
    /etc/resolv.conf
    文件的内容,其中包含了DNS服务器的地址。但需要注意的是,这个文件可能是由其他工具自动生成的,因此可能不是最终生效的配置。
  • dig domain.com
    nslookup domain.com
    :这两个命令可以查询指定域名的IP地址,并显示使用的DNS服务器。

总的来说,配置Linux DNS解析优先顺序需要根据你使用的发行版和网络管理工具选择合适的方法。排查问题时,需要仔细检查配置文件、缓存、防火墙和网络连接等方面。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1023

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

439

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

249

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

494

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

399

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

437

2024.04.08

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号