它将我们熟悉的域名(如 google.com)解析为计算机可以理解的 IP 地址(如 142.250.64.68)
一个快速且可靠的 DNS 服务器能够显著提升你的网络浏览体验,减少页面加载时间,并增强网络安全
因此,了解如何在 Linux 系统下修改 DNS 设置是一项至关重要的技能
本文将详细介绍在 Linux 下修改 DNS 的各种方法,并为你提供权威的步骤和建议
一、理解 DNS 解析顺序 在 Linux 系统中,DNS 解析顺序通常通过以下几个配置文件来确定: 1./etc/resolv.conf:这是最直接、最常用的 DNS 配置文件
它包含了域名解析服务器的地址(即 DNS 服务器的 IP 地址)
2./etc/hosts:这个文件用于静态解析域名到 IP 地址,通常用于本地网络配置
3./etc/nsswitch.conf:这个文件决定了系统解析主机名时的顺序和使用的服务,包括 DNS、NIS、本地文件等
二、直接编辑 `/etc/resolv.conf` 这是最简单直接的方法,但需要注意,某些 Linux 发行版(如使用 systemd 的系统)可能会动态生成这个文件,直接编辑可能会导致配置丢失
步骤: 1.打开终端:确保你有超级用户权限(即 root 权限)
2.备份文件: ```bash sudo cp /etc/resolv.conf /etc/resolv.conf.bak ``` 3.编辑文件: ```bash sudo nano /etc/resolv.conf ``` 或者,使用你喜欢的编辑器,如`vim`、`gedit` 等
4.添加或修改 DNS 服务器: ```plaintext nameserver 8.8.8.8 nameserver 8.8.4.4 ``` 这里以 Google 的公共 DNS 服务器为例
5.保存并退出:在 nano 中,按 Ctrl+O 保存文件,然后按`Ctrl+X`退出
6.验证配置: ```bash cat /etc/resolv.conf ``` 注意事项: - 如果你使用的是 systemd,可能需要配置 systemd-resolved 服务来持久化 DNS 设置
- 直接编辑这个文件在某些情况下可能会被覆盖,因此建议使用下面的方法
三、通过 systemd-resolved 配置 DNS 对于使用 systemd 的系统(如 Ubuntu 16.04 及以后的版本、Fedora、CentOS 7 及以后的版本等),systemd-resolved 服务负责管理 DNS 解析
步骤: 1.启用并启动 systemd-resolved 服务: ```bash sudo systemctl enable systemd-resolved sudo systemctl start systemd-resolved ``` 2.编辑 `/etc/systemd/resolved.conf` 文件: ```bash sudo nano /etc/systemd/resolved.conf ``` 3.修改 DNS 服务器设置: ```plaintext 【Resolve】 DNS=8.8.8.8 8.8.4.4 # 禁用 fallback 到其他 DNS 服务器(可选) # FallbackDNS= ``` 4.保存并退出
5.重启 systemd-resolved 服务: ```bash sudo systemctl restart systemd-resolved ``` 6.更新 /etc/resolv.conf 符号链接: systemd-resolved 会动态生成 `/etc/resolv.conf` 文件,因此你需要确保这个文件是一个符号链接到 systemd-resolved 管理的文件: ```bash sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf ``` 7.验证配置: ```bash cat /etc/resolv.conf resolvectl status ``` `resolvectl status` 命令会显示当前使用的 DNS 服务器和其他网络配置信息
四、通过 NetworkManager 配置 DNS NetworkManager 是许多 Linux 发行版中用于网络管理的工具
如果你使用的是 NetworkManager,你可以通过其命令行工具`nmcli` 或图形界面来配置 DNS
步骤: 1.列出所有连接: ```bash nmcli connection show ``` 2.修改指定连接的 DNS 设置: 假设你要修改的连接名为 Wired connection 1: ```bash nmcli connection modify Wired connection 1 ipv4.ignore-auto-dns yes ipv4.dns 8.8.8.8 8.8.4.4 ``` 3.应用更改: ```bash nmcli conne
亚瑟士Hyper Gel:科技缓震,跑动未来
Linux系统下快速修改DNS设置指南
Linux快速查看端口占用情况
PE工具轻松克隆Linux系统教程
Linux高手秘籍:AMJRO技巧大揭秘,提升你的系统管理技能
假面骑士Hyper黄蜂:极速蜂刺的正义之战
Linux14系统新特性大揭秘
Linux快速查看端口占用情况
PE工具轻松克隆Linux系统教程
Linux高手秘籍:AMJRO技巧大揭秘,提升你的系统管理技能
Linux14系统新特性大揭秘
Linux系统下轻松安装Roon指南
如何在Linux上搭建并下载文件:TFTP服务器指南
快速查看Linux系统内核数技巧
Linux下利用-g选项构建Makefile技巧
Linux KCM:深度解析内核配置管理
Linux系统下轻松切换环境变量(env)的实用指南
Linux代码执行成功,高效运维秘籍
Linux系统安装:详细分区步骤指南