5154

Good Luck To You!

linux修改dns服务器

Linux中可通过编辑/etc/resolv.conf文件修改DNS服务器,添加或替换其中的nameserver条目即可

Linux修改DNS服务器详解

在网络环境中,域名系统(DNS)扮演着至关重要的角色,它将人类易于记忆的域名转换为计算机能够理解的IP地址,默认情况下,Linux系统会使用运营商或设备制造商预设的DNS服务器,但这些可能并非总是最优选择,有时为了提高解析速度、增强隐私保护或者访问特定区域受限的内容,我们需要手动更改系统的DNS设置,本文将详细介绍如何在Linux系统中修改DNS服务器的配置方法,涵盖不同发行版下的操作步骤以及相关的验证手段。

准备工作

(一)确定新的DNS服务器地址

常见的公共DNS服务包括: |名称|IPv4地址|特点| |||| |Google Public DNS|8.8.8.8 / 8.8.4.4|全球覆盖广,响应快| |Cloudflare DNS|1.1.1.1 / 1.0.0.1|注重用户隐私保护| |Quad9 (由IBM运营)|9.9.9.9 / 2620:fe::fe|阻止恶意软件和钓鱼网站| 你可以根据自己的需求选择合适的DNS服务提供商及其对应的IP地址。

(二)备份原有配置

在进行任何更改之前,建议先备份现有的网络配置文件,以防万一出现错误时可以快速恢复原始状态,对于基于Netplan管理的系统,相关文件通常位于/etc/netplan/目录下;而使用networkmanager图形界面工具的用户则无需手动处理此步骤,因为该工具会自动保存历史记录。

通过命令行修改DNS设置

(一)临时更改当前会话中的DNS解析顺序

如果你想仅对本次登录有效,可以使用以下命令添加新的DNS服务器到现有列表的最前面:

linux修改dns服务器

echo "nameserver <新DNS_IP>" | sudo tee a /etc/resolv.conf

其中<新DNS_IP>替换为你选定的新DNS服务器的实际IP地址,注意这种方式重启后失效。

(二)永久修改网络接口配置文件

使用Netplan(适用于Ubuntu等现代Linux发行版)

编辑对应的配置文件,路径一般为/etc/netplan/*.yaml,如果你使用的是默认配置文件01netcfg.yaml,那么打开它并找到类似如下的部分:

ethernets:
    enp0s3: # 你的网卡名称可能不同
        addresses: [192.168.1.100/24]
        gateway4: 192.168.1.1
        nameservers:
            addresses: [旧DNS_IP] # 这里列出原来的DNS服务器
        routes: ...

将其中的addresses字段下的旧DNS IP替换为你的新DNS IP,如果有多个DNS服务器,用逗号分隔开,保存文件后应用更改:

sudo netplan apply

然后可以通过cat /etc/resolv.conf查看是否已成功更新。

linux修改dns服务器

传统方式编辑/etc/resolv.conf直接写入

直接以root权限编辑/etc/resolv.conf文件,添加或修改其中的nameserver行,示例如下:

# Generated by NetworkManager
search localdomain
nameserver 8.8.8.8 # Google Public DNS首选
nameserver 8.8.4.4 # Google Public DNS备选

确保每一行只有一个有效的nameserver条目,并且按照优先级从高到低排列,编辑完成后保存退出即可生效。

利用图形界面工具进行设置(以NetworkManager为例)

大多数桌面版的Linux发行版都预装了NetworkManager这个强大的网络管理工具,允许用户直观地调整各种网络参数,包括DNS设置,具体步骤如下:

  1. 打开“设置”应用程序 > “网络”。
  2. 选择正在使用的有线或无线连接,点击齿轮图标进入详细信息页面。
  3. 切换到“IPv4”标签页,在下拉菜单中选择“自动(DHCP)以外的其他模式”,如“手动”。
  4. 在弹出窗口中找到“DNS服务器”一栏,输入你想要使用的DNS服务器地址,多个地址之间用逗号隔开。
  5. 点击关闭按钮使设置生效,此时可以通过终端执行systemdresolve status来检查新的DNS配置是否正确应用。

验证DNS更改是否成功

完成上述任一方法后,都需要确认新的DNS设置已经正确生效,以下是几种常用的验证方式:

linux修改dns服务器

  • dig命令测试域名解析:运行dig example.com @<新DNS_IP>,查看输出结果中的ANSWER SECTION部分显示的信息是否符合预期,如果一切正常,你应该能看到目标域名对应的正确IP地址。
  • nslookup命令查询:使用nslookup example.com同样可以检验DNS解析情况,若返回的结果是你指定的新DNS服务器提供的,说明配置无误。
  • ping测试连通性:尝试ping某个知名网站的域名,如ping www.baidu.com,观察是否能收到回应包,虽然这不能完全证明DNS工作正常,但如果连不通很可能是由于DNS问题导致的。

常见问题与解答

Q1: 修改了DNS之后还是无法上网怎么办?

A1: 首先检查新配置的DNS服务器本身是否可达,可以使用ping <新DNS_IP>测试连通性,其次确认没有拼写错误或者格式不正确的问题存在于配置文件中,暂时回滚到之前的可靠配置,逐步排查问题所在,有时候防火墙规则也可能阻止了对外部DNS服务的访问,适当放宽限制可能会有所帮助。

Q2: 为什么有时候即使设置了多个DNS服务器也只能看到一个起作用?

A2: 这是正常的设计行为,当第一个DNS服务器能够正常响应请求时,后续的备用服务器就不会被调用,只有当主DNS服务器无响应或者超时时,才会尝试下一个备用服务器,这种机制保证了效率的同时提高了可靠性,如果你希望强制轮流使用所有列出的DNS服务器,可能需要特殊的客户端软件支持,普通的操作系统级设置不支持这种模式。

通过本文的介绍,我们了解了如何在Linux系统中灵活地修改DNS服务器设置,无论是临时调整还是永久变更,都可以根据实际需求选择合适的方法来实现,同时掌握了如何验证配置的正确性和解决可能出现的问题,合理选择和配置DNS服务器不仅有助于提升网络浏览体验,还能在一定程度上增强网络安全性和隐私保护,希望读者能够根据自己的具体情况实践这些知识,享受更加顺畅安全的互联网之旅

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年9月    »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.