在Ubuntu系统中修改DNS的多种操作方法

 更新时间:2026年02月07日 08:34:07   作者:网硕互联的小客服  
DNS是将域名解析为IP地址的系统,互联网中几乎所有访问都依赖于DNS服务,本文将详细介绍在Ubuntu系统中修改DNS的多种方法,包括通过网络管理器、修改配置文件以及使用命令行工具等方式,需要的朋友可以参考下

引言

DNS(Domain Name System)是将域名解析为IP地址的系统,互联网中几乎所有访问都依赖于DNS服务。对于Ubuntu用户来说,遇到网络问题或需要使用特定的DNS服务器(如Google DNS或Cloudflare DNS)时,修改DNS是一个基本且重要的操作。

本文将详细介绍在Ubuntu系统中修改DNS的多种方法,包括通过网络管理器、修改配置文件以及使用命令行工具等方式,帮助用户灵活应对不同场景的需求。

1. 为什么需要修改DNS

1.1 提升网络访问速度

默认的DNS服务器可能较慢,尤其是在跨国访问时。更换为性能更优的DNS(如Google DNS或Cloudflare DNS)可以显著提升网页加载速度。

1.2 解决网络解析问题

如果遇到DNS解析错误或无法访问某些网站的问题,更换DNS可能是有效的解决办法。

1.3 提高隐私和安全性

某些公共DNS(如Cloudflare DNS)提供更高的隐私保护,防止用户的DNS查询被追踪。

2. 修改DNS的常见方法

2.1 使用网络管理器修改DNS

网络管理器(Network Manager)是Ubuntu系统中最常用的网络管理工具,适用于图形化界面和命令行操作。

2.1.1 图形化界面操作

以下是通过Ubuntu桌面环境修改DNS的步骤:

  • 点击屏幕右上角的网络图标,选择“设置(Settings)”。
  • 在“网络”选项卡中,找到当前连接的网络(Wi-Fi或有线),点击齿轮图标。
  • 切换到“IPv4”或“IPv6”选项卡,选择“手动”模式(Manual)。
  • 在“DNS”字段中输入新的DNS服务器地址(如8.8.8.88.8.4.4),然后点击“应用(Apply)”。
  • 断开网络连接并重新连接以使更改生效。

2.1.2 使用命令行操作

对于使用命令行的用户,可以通过Network Manager工具设置DNS:

# 查看当前网络连接名
nmcli connection show
 
# 修改DNS
sudo nmcli connection modify "网络连接名" ipv4.dns "8.8.8.8 8.8.4.4"
 
# 重新启动网络连接
sudo nmcli connection up "网络连接名"

修改完成后,可以使用 nmcli connection show "网络连接名" 查看DNS是否已成功更改。

2.2 修改resolv.conf文件

/etc/resolv.conf 是Linux系统中用于存储DNS服务器地址的文件。直接编辑该文件可以快速修改DNS,但需注意文件可能会被系统自动覆盖。

以下是操作步骤:

# 编辑resolv.conf文件
sudo nano /etc/resolv.conf
 
# 示例内容
nameserver 8.8.8.8
nameserver 8.8.4.4

保存文件后,新的DNS设置会立即生效。

为了防止文件被覆盖,可以将其设置为只读:

sudo chattr +i /etc/resolv.conf

如果需要修改,需先取消只读属性:

sudo chattr -i /etc/resolv.conf

2.3 使用Netplan工具修改DNS

在Ubuntu 18.04及更高版本中,Netplan被引入作为网络配置工具。可以通过编辑Netplan的YAML文件配置DNS。

操作步骤如下:

# 打开Netplan配置文件
sudo nano /etc/netplan/01-netcfg.yaml
 
# 示例配置
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

完成编辑后,应用更改:

sudo netplan apply

2.4 使用systemd-resolved工具修改DNS

在某些Ubuntu版本中,systemd-resolved 用于管理DNS解析。可以通过以下方式修改DNS:

# 查看当前DNS设置
systemd-resolve --status
 
# 修改DNS
sudo systemd-resolve --set-dns=8.8.8.8 --interface=接口名

完成后,重新启动systemd-resolved服务:

sudo systemctl restart systemd-resolved

确保/etc/resolv.conf正确链接到systemd-resolved

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

3. 验证DNS设置

完成DNS修改后,可以通过以下方法验证是否生效:

3.1 使用dig命令

通过dig命令检查DNS解析结果:

# 安装dig工具
sudo apt install dnsutils
 
# 查询域名解析
dig google.com

查看输出的SERVER字段,确认是否为新的DNS地址。

3.2 使用systemd-resolve命令

通过systemd-resolve命令检查DNS配置:

systemd-resolve --status

确认DNS服务器地址是否已更改。

3.3 检查网络连接

尝试访问常用网站(如google.com),确保网络正常且DNS解析快速。

总结

修改DNS是Ubuntu系统中提升网络性能和解决解析问题的重要操作。本文详细介绍了通过网络管理器、/etc/resolv.conf文件、Netplan工具以及systemd-resolved等方式修改DNS的具体方法。

在实际操作中,建议根据系统版本和网络环境选择合适的方法,同时注意验证设置是否生效。此外,为了确保网络的稳定性,可以选择可靠的公共DNS(如Google DNS或Cloudflare DNS)。通过本文的指导,用户可以轻松完成Ubuntu系统的DNS修改,优化网络体验。

以上就是在Ubuntu系统中修改DNS的多种操作方法的详细内容,更多关于Ubuntu修改DNS方法的资料请关注脚本之家其它相关文章!

相关文章

  • linux服务器安装supervisor全过程

    linux服务器安装supervisor全过程

    本文介绍了在Linux服务器上安装、配置和使用Supervisor(进程管理工具)的过程,包括安装Supervisor、启动服务、配置文件、管理进程和日志管理等内容
    2026-05-05
  • Ubuntu下pycharm无法导入类的解决方法

    Ubuntu下pycharm无法导入类的解决方法

    下面小编就为大家分享一篇Ubuntu下pycharm无法导入类的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Linux下nginx配置https协议访问的方法

    Linux下nginx配置https协议访问的方法

    这篇文章主要介绍了Linux下nginx配置https协议访问的方法,需要的朋友可以参考下
    2016-07-07
  • 详解如何在Linux上添加路由

    详解如何在Linux上添加路由

    路由是指确定数据包从源节点到目的节点的路径的过程,这个过程涉及到在网络中的多个节点之间选择最佳路径,以确保数据包的有效传输,在Linux中,有几种常见的路由类型,本文给大家介绍了如何在Linux上添加路由,需要的朋友可以参考下
    2024-05-05
  • Centos7配置与安装DNS服务器全过程

    Centos7配置与安装DNS服务器全过程

    这篇文章主要介绍了Centos7配置与安装DNS服务器全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-09-09
  • Ubuntu系统下安装ImageMagick出错的解决过程

    Ubuntu系统下安装ImageMagick出错的解决过程

    由于项目需要, 所以要在Ubuntu下面安装ImageMagick,但在安装过程中遇到了些问题,通过查找相关的资料最终得以解决了,所以下面这篇文章主要给大家介绍了关于Ubuntu系统下安装ImageMagick出错的解决过程,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Linux中将.c文件转换为可执行文件的方法

    Linux中将.c文件转换为可执行文件的方法

    在 Linux 环境下进行 C 语言编程时,将 .c 文件转换为可执行文件是一个关键的步骤,这个过程涉及到使用编译器和一些相关的工具,本文将详细介绍在 Linux 系统中如何将 .c 文件转换为可执行文件的方法,需要的朋友可以参考下
    2024-08-08
  • linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    下面小编就为大家带来一篇linux下用tar命令将当前目录下文件按子目录压缩归档的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux安装open webui实践

    linux安装open webui实践

    这篇文章主要介绍了linux安装open webui全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-02-02
  • linux线程间的同步与互斥知识点总结

    linux线程间的同步与互斥知识点总结

    在本篇文章里小编给大家整理的是关于linux线程间的同步与互斥的相关知识点,有兴趣的朋友们学习下。
    2019-11-11

最新评论