在Fedora Linux系统中,域名系统(DNS)的配置是一项基础且重要的网络设置,DNS负责将我们易于记忆的域名(如www.google.com)解析为计算机能够理解的IP地址,正确配置DNS不仅能提升网络访问速度,还能增强隐私性、安全性,或实现对特定网络资源的访问,本文将详细介绍在Fedora中通过图形用户界面(GUI)和命令行界面(CLI)两种主流方式设置DNS的方法,并提供验证步骤和常见问题解答。

使用图形用户界面(GUI)进行设置
对于大多数桌面用户而言,通过GUI设置DNS是最直观、最简单的方法,Fedora默认使用GNOME桌面环境,其网络设置功能集成在“设置”应用中。
-
打开设置:点击屏幕右上角的通知区域,选择齿轮图标进入“设置”应用,或者在活动概览中直接搜索“设置”。
-
进入网络面板:在左侧的导航栏中,找到并点击“网络”选项。
-
选择网络连接:根据您的连接方式,点击“有线”或“Wi-Fi”,如果您使用的是Wi-Fi,请先确保已连接到目标网络,然后点击该网络名称旁边的齿轮图标,对于有线连接,直接点击齿轮图标。
-
配置DNS:在弹出的连接详情窗口中,切换到“IPv4”或“IPv6”选项卡,默认情况下,DNS设置可能为“自动”,要自定义DNS,请将“DNS”开关关闭,下方的输入框会变为可编辑状态,您可以在此输入一个或多个DNS服务器的IP地址,每个地址用逗号或空格分隔。
要使用Google和Cloudflare的公共DNS,可以输入:
8.8.8, 1.1.1.1 -
应用设置:点击窗口右上角的“应用”按钮保存更改,系统会自动重新应用网络配置,新的DNS设置即刻生效。
这种方法无需任何命令,非常适合初学者和日常使用。
使用命令行界面(CLI)进行设置
对于服务器管理员、高级用户或偏好使用终端的场景,通过命令行设置DNS更为高效和强大,Fedora使用NetworkManager来管理网络连接,因此推荐使用nmcli工具进行操作。
使用 nmcli 工具
nmcli(NetworkManager Command-Line Interface)是一个功能强大的命令行工具,可以完全控制NetworkManager。

-
查看网络连接名称:需要知道您正在使用的网络连接的名称,执行以下命令:
nmcli connection show
此命令会列出所有网络连接,找到您正在使用的那个(Wired connection 1”或您的Wi-Fi名称),记下其
NAME字段。 -
修改DNS设置:使用
nmcli connection modify命令来为指定连接设置DNS服务器,假设连接名称为“Wired connection 1”,要设置Google和Cloudflare的DNS,命令如下:sudo nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"
sudo:以管理员权限执行。"Wired connection 1":替换为您的实际连接名称。ipv4.dns:指定IPv4的DNS服务器,多个地址用空格隔开。- 如果需要设置IPv6 DNS,可以使用
ipv6.dns参数。
-
重新激活连接:为了让更改生效,需要重新激活网络连接:
sudo nmcli connection up "Wired connection 1"
执行后,NetworkManager会使用新的DNS配置更新系统。
直接编辑配置文件(不推荐新手)
虽然可以直接编辑/etc/resolv.conf文件,但在现代Fedora系统中,该文件通常由NetworkManager动态管理,手动修改的设置会在网络重启或系统更新后丢失,更推荐通过nmcli或GUI来操作,它们会自动修改NetworkManager的持久化配置文件(位于/etc/NetworkManager/system-connections/目录下)。
如何验证DNS设置是否生效
无论采用哪种方法,设置完成后都应进行验证以确保配置正确。
-
查看
/etc/resolv.conf文件:cat /etc/resolv.conf
您应该能看到刚刚设置的DNS服务器地址,通常以
nameserver开头。 -
使用
nslookup或dig命令:这两个是强大的DNS查询工具。
nslookup fedoraproject.org
或
dig fedoraproject.org
在命令的输出中,关注“Server:”字段,它显示了实际提供解析服务的DNS服务器IP地址,应与您设置的地址相符。
常用公共DNS服务器推荐
为了方便您选择,以下是一些知名的公共DNS服务器:
| 提供商 | 主DNS | 备用DNS | 特点 |
|---|---|---|---|
8.8.8 |
8.4.4 |
速度快,稳定可靠 | |
| Cloudflare | 1.1.1 |
0.0.1 |
注重隐私,性能优异 |
| Quad9 | 9.9.9 |
112.112.112 |
阻止已知恶意域名,安全 |
相关问答FAQs
我直接编辑了 /etc/resolv.conf 文件,但重启后设置又恢复了,这是为什么?
解答:这是因为在Fedora以及许多现代Linux发行版中,/etc/resolv.conf文件是由NetworkManager服务自动生成和管理的,当您手动编辑此文件后,一旦网络状态发生变化(如重启、重新连接网络),NetworkManager会根据其内部配置(即通过GUI或nmcli设置的配置)覆盖您的手动修改,要实现永久性的DNS设置,必须通过NetworkManager提供的官方渠道进行,即使用图形界面的“设置”或命令行的nmcli工具。
我应该在IPv4和IPv6设置中都配置DNS吗?
解答:这取决于您的网络环境,如果您的网络和ISP同时支持IPv4和IPv6(即双栈网络),那么在两个协议下都配置DNS是一个好习惯,这可以确保无论您的系统通过IPv4还是IPv6地址进行域名查询,都能获得快速、可靠的响应,您可以为IPv4和IPv6设置相同的DNS提供商(Google的IPv4 DNS是8.8.8,其IPv6 DNS是2001:4860:4860::8888),如果您的网络仅使用IPv4,那么只需在IPv4设置中配置DNS即可,在Fedora的GUI设置中,您可以分别在“IPv4”和“IPv6”选项卡中进行配置;在使用nmcli时,则分别使用ipv4.dns和ipv6.dns参数。