/etc/resolv.conf 文件,添加或修改 nameserver 行,指定域名服务器地址,如 `nameserver 8.8.Linux 设置域名服务器

在 Linux 系统中,设置域名服务器(DNS)是网络配置的重要环节,通过正确配置 DNS,设备能够将域名解析为对应的 IP 地址,从而实现网络通信,以下是详细的设置步骤和相关说明:
查看当前 DNS 配置
在修改 DNS 之前,可以先查看当前的 DNS 配置情况。
使用 nmcli 命令(适用于 NetworkManager 管理的网络)
nmcli device show | grep DNS
查看 /etc/resolv.conf 文件
cat /etc/resolv.conf
/etc/resolv.conf 文件中会包含类似以下内容:
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
通过 NetworkManager 设置 DNS(图形界面)
如果系统使用 NetworkManager 管理网络连接,可以通过图形界面进行设置。
-
打开网络设置:
- 在桌面环境中,点击网络图标,选择“网络设置”或“网络连接”。
- 或者通过系统设置进入网络配置页面。
-
选择网络连接:
在网络连接列表中,选择你要配置的网络连接(如 Wi-Fi 或有线连接)。
-
配置 IPv4 设置:
- 找到 IPv4 设置选项,通常为“自动 (DHCP)”或“手动”。
- 如果选择“自动 (DHCP)”,DNS 通常由 DHCP 服务器分配,可以在 DHCP 选项中指定特定的 DNS 服务器。
- 如果选择“手动”,需要手动输入 IP 地址、子网掩码、网关以及 DNS 服务器地址。
-
添加或修改 DNS 服务器:
- 在 DNS 服务器设置区域,添加你想要使用的 DNS 服务器地址。
- Google DNS:8.8.8.8,8.8.4.4
- Aliyun DNS:223.5.5.5,223.6.6.6
- 在 DNS 服务器设置区域,添加你想要使用的 DNS 服务器地址。
-
保存设置:
点击“保存”或“应用”按钮,使配置生效。
通过命令行设置 DNS
除了图形界面,还可以使用命令行工具来配置 DNS。
临时修改 DNS(只对当前会话有效)
编辑 /etc/resolv.conf 文件,添加或修改 DNS 服务器地址。

sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
保存并退出(在 nano 中,按 Ctrl + O 保存,Ctrl + X 退出)。
注意:这种方法的修改在系统重启后可能会失效,因为 NetworkManager 或其他网络管理工具可能会覆盖该文件。
永久修改 DNS(适用于 NetworkManager 管理的网络)
使用 nmcli 命令设置 DNS。
sudo nmcli connection modify <连接名称> ipv4.dns "8.8.8.8 8.8.4.4"
假设连接名称为 Wired connection 1:
sudo nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"
重新启动网络连接:
sudo nmcli connection up "Wired connection 1"
使用 resolvconf 工具(适用于某些发行版)
部分 Linux 发行版使用 resolvconf 来管理 DNS 配置,你可以通过修改配置文件来设置 DNS。
编辑 /etc/resolvconf/resolv.conf.d/base 文件:
sudo nano /etc/resolvconf/resolv.conf.d/base
添加或修改 DNS 服务器:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存并退出后,运行以下命令更新 DNS 配置:
sudo resolvconf -u
常见 DNS 服务器推荐
| DNS 服务商 | 主 DNS 服务器 | 副 DNS 服务器 |
|---|---|---|
| Google Public DNS | 8.8.8 | 8.4.4 |
| OpenDNS | 67.222.222 | 67.220.220 |
| Cloudflare | 1.1.1 | 0.0.1 |
| Aliyun DNS | 5.5.5 | 6.6.6 |
| Quad9 | 9.9.9 | 112.112.112 |
验证 DNS 配置
配置完成后,可以使用以下命令验证 DNS 是否生效。
使用 nslookup 命令
nslookup www.example.com
如果配置正确,应该会返回对应的 IP 地址。
使用 dig 命令
dig www.example.com
dig 命令会显示详细的 DNS 查询信息,包括查询到的 IP 地址。
相关问题与解答
问题 1:如何在 Linux 中设置静态 IP 地址和 DNS?
解答:

在 Linux 中设置静态 IP 地址和 DNS 可以通过以下步骤完成:
-
打开网络连接编辑界面:
- 使用图形界面:进入“网络设置”或“网络连接”,选择对应的网络连接,点击“编辑”。
- 使用命令行:使用
nmcli或编辑网络配置文件(通常位于/etc/sysconfig/network-scripts/或/etc/network/interfaces,具体取决于发行版)。
-
配置静态 IP:
- 在 IPv4 设置中,选择“手动”,然后输入静态 IP 地址、子网掩码和网关。
- IP 地址为
168.1.100,子网掩码为255.255.0,网关为168.1.1。
-
配置 DNS:
- 在 DNS 服务器设置区域,添加你想要使用的 DNS 服务器地址,如
8.8.8和8.4.4。
- 在 DNS 服务器设置区域,添加你想要使用的 DNS 服务器地址,如
-
保存并应用设置:
- 在图形界面中,点击“保存”或“应用”。
- 在命令行中,使用
nmcli connection up <连接名称>重新启用网络连接。
问题 2:如何在不同发行版中设置 DNS?
解答:
不同的 Linux 发行版可能使用不同的网络管理工具,设置 DNS 的方法也会有所不同,以下是一些常见发行版的设置方法:
-
基于 Debian/Ubuntu 的发行版(使用 NetworkManager):
- 图形界面:通过“网络设置”或“Wi-Fi”图标进入网络配置,选择对应的连接,设置静态 IP 和 DNS。
- 命令行:使用
nmcli命令,如nmcli connection modify <连接名称> ipv4.addresses <IP>/<子网掩码> ipv4.gateway <网关> ipv4.dns <DNS服务器>。
-
基于 Red Hat/CentOS 的发行版(使用 NetworkManager):
- 图形界面:通过“网络设置”进入,选择对应的网络连接,设置静态 IP 和 DNS。
- 命令行:使用
nmcli命令,如nmcli connection modify <连接名称> ipv4.addr <IP>/<子网掩码> ipv4.gateway <网关> ipv4.dns <DNS服务器>。
-
基于 Arch Linux 的发行版(使用 netcfg 或 systemd-networkd):
- netcfg:编辑
/etc/netcfg/<接口>文件,设置静态 IP 和 DNS。 - systemd-networkd:编辑
/etc/systemd/network/<接口>.network文件,配置静态 IP,并在/etc/resolv.conf中设置 DNS。
- netcfg:编辑
-
其他发行版:
根据具体使用的网络管理工具,参考相应的文档进行配置。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/83569.html