0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Ubuntu 22.04查看DNS的方法

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-05 16:41 次阅读

DNS域名系统是网络基础架构的核心部分,提供了一种将域名转换为IP地址的方法。

您可以将DNS视为互联网的电话簿。注意这篇文章不是在Ubuntu 22.04配置自己的DNS服务器。而是给客户端配置DNS的IP地址。

连接到Internet的每个设备均由其IP地址作为唯一标识。当您在浏览器中键入要访问的网站时,其域名必须转换为相应的IP地址。

什么是 DNS与DNS工作方式

操作系统首先检查其hosts文件中是否存在相应的域,如果域名中不存在hosts文件,它将查询配置的DNS域名服务器以解析指定的域名。

域名解析后,系统将缓存请求并保留域名和相应IP地址的记录。DNS域名服务器为其他设备执行DNS解释的服务器。

通常,DNS服务器地址由您的ISP分配。但是,这些DNS服务器可能运行缓慢或未定期更新,这可能会导致在查询域名时解析为错误的IP地址。

或者出现延迟,有时您可能根本无法解析所需的域名的IP地址。有很多免费的公共DNS服务器。

这些DNS域名服务器快速,并定期更新。这是一些最受欢迎的公共DNS服务器。Google(8.8.8.88.8.4.4),Cloudflare(1.1.1.11.0.0.1)。

OpenDNS(208.67.222.222208.67.220.220),Level3(209.244.0.3209.244.0.4)。

如果要为连接到本地网络的所有设备设置DNS域名服务器,那么最简单和建议的方法是在家庭路由器进行更改。

Ubuntu 22.04 查看 DNS

Linux 查看正在使用DNS服务器IP地址方法有很多,可以使用dig命令或者查看systemd-resolve服务的状态。

systemd-resolve -status命令打印很多信息。但我们可以使用grep命令来过滤DNS Servers字符串。

对于dig命令,如果只需要查看当前使用DNS地址,请运行命令dig myfreax.com | grep SERVER

dig myfreax.com | grep SERVER 
sudo systemd-resolve --status | grep 'DNS Servers' -A2

dig myfreax.com | grep SERVER

;; SERVER: 8.8.8.8#53(8.8.8.8)

sudo systemd-resolve --status | grep 'DNS Servers' -A2

DNS Servers: 1.1.1.1
                      1.0.0.1

Ubuntu 22.04 桌面设置DNS

在Ubuntu 22.04桌面环境设置DNS地址非常简单,不需要任何技术知识。首先打开设置窗口。

如果您连接到WiFi网络,请单击Wi-FI标签。否则,如果您有有线连接,请单击网络选项卡。

选择要为其设置DNS的连接,然后单击齿轮图标以打开网络管理器。选择IPv4设置选项卡。

禁用自动切换开关,然后输入DNS服务器的IP地址,以逗号分隔。我们将使用Google DNS服务器。

图片

点击应用按钮以保存更改。更改立即生效,除非您的系统或应用程序缓存了DNS记录。

如果要切换回原来的设置,请打开网络管理器,转到IPv4设置并启用自动切换开关。

Ubuntu 22.04 服务器设置DNS

过去,每当您想在Linux中配置DNS地址时,只需打开etc/resolv.conf文件,编辑记录,保存文件就可以。

现在etc/resolv.conf文件仍然存在,但它是由systemd-resolved服务控制的符号链接,不应手动对其进行编辑。

systemd-resolved是为本地服务和应用程序提供DNS名称解析的服务,可以使用Netplan进行配置,Netplan是Ubuntu 22.04的默认网络管理工具。

Netplan配置文件存储在etc/netplan目录。您可能会在此目录中找到一个或两个YAML文件。

各个安装程序的文件名可能不同。通常,该文件名为01-netcfg.yaml50-cloud-init.yaml,但在您的系统中,可能会有所不同。

这些文件使您可以配置网络接口,我们通常称为网卡,包括IP地址,网关,DNS域名服务器等。

要设置DNS,请使用你喜欢的文本编辑器编辑文件,在本教程中我们将使用vim编辑文件。

sudo vim etc/netplan/01-network-manager-all.yaml

/etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens3:
      dhcp4: true
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

注意,你必须修改本教程中接口名称ens3为你的计算机接口名称。然后使用您的首选DNS更改nameservers的IP地址。

例如如果您想使用Cloudflare的DNS服务器,则可以将nameservers的addresses行更改为。

DNS服务器IP地址必须用逗号分隔,如果该nameservers字段不存在,请将nameservers添加到接口名称字段下。

nameservers:
          addresses: [1.1.1.1, 1.0.0.1]

编辑Yaml文件时,请确保您遵循YAML代码缩进标准。如果配置中存在语法错误,Netplan将无法解析该文件。完成后,保存文件并退出vim。

然后运行命令sudo netplan apply应用更改。Netplan将为systemd-resolved的服务生成配置文件/run/systemd/resolve/resolv.conf。

此外,还有一些应用程序依然使用etc/resolv.conf的配置文件的DNS地址进行域名的解释,因此你还需要修改etc/resolv.conf文件。

要修改此文件我们只需要将/run/systemd/resolve/resolv.conf软链接到etc/resolv.con即可。

运行命令sudo ln -sf /run/systemd/resolve/resolv.conf etc/resolv.conf

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

Ubuntu 验证DNS设置

要验证是否正确设置DNS地址,请运行命令systemd-resolve --status | grep 'DNS Servers' -A2或者命令dig www.myfreax.com

systemd-resolve -status命令打印很多信息。我们使用grep命令来过滤DNS Servers字符串。

sudo systemd-resolve --status | grep 'DNS Servers' -A2
DNS Servers: 1.1.1.1
                      1.0.0.1

这里需要注意的是,如果你的Ubuntu 22.04带有桌面环境,请一定使用桌面环境的网络设置来修改DNS的IP地址。

如果你想使用命令的方式修改DNS地址,可能会不如你所愿。当你在终端运行命令dig www.myfreax.com的时候。

你将会在dig命令的结果看到应答的服务器永远是;; SERVER: 127.0.0.1#53(127.0.0.1)或者是你的网关地址;; SERVER: 192.168.1.1#53(192.168.1.1)。

dig www.myfreax.com
; <<>> DiG 9.16.1-Ubuntu <<>> www.myfreax.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 451
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.myfreax.com.		IN	A

;; ANSWER SECTION:
www.myfreax.com.	300	IN	A	43.457.68.101

;; Query time: 119 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Dec 01 19:14:33 HKT 2022
;; MSG SIZE  rcvd: 60

结论

Netplan是Ubuntu 22.04的默认网络管理工具,替代之前的Ubuntu版本中用于配置网络的etc/resolv.confetc/network/interfaces配置文件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11222

    浏览量

    208896
  • 服务器
    +关注

    关注

    12

    文章

    9016

    浏览量

    85175
  • DNS
    DNS
    +关注

    关注

    0

    文章

    217

    浏览量

    19792
  • Ubuntu
    +关注

    关注

    5

    文章

    560

    浏览量

    29555
收藏 人收藏

    评论

    相关推荐

    如何在Ubuntu 22.04上搭建ftp服务器

    本文将在Ubuntu 22.04上搭建ftp服务器,对于其他版本Ubuntu系统或者其他系列的Linux发行版,配置都差不多。
    发表于 08-21 09:18 1358次阅读
    如何在<b class='flag-5'>Ubuntu</b> <b class='flag-5'>22.04</b>上搭建ftp服务器

    【WRTnode2R使用体验】5、Ubuntu设置静态DNS

    静态的。设置DNS方法有很多种,有图形界面的方法,也有文本模式下的方法。由于之前将Ubuntu已经设置成text模式了,现在我就介绍几种t
    发表于 12-03 17:13

    【赛昉科技昉·星光RISC-V单板计算机试用体验】安装ubuntu Server 22.04及挂载分区

    ubuntu-server-22.04-riscv64-visionfive-27042022-1.img这一镜像,并用etcher工具将该镜像烧录到SD卡中,这里我用了一块32G的SD卡,这里注意:请操作前将你的SD卡之前的数据备份好!!!烧录完事后,打开windows的磁盘管理器
    发表于 07-06 20:37

    OpenHarmony编译固件新增支持Ubuntu22.04平台

    现在OpenHarmony master最新分支 可以在Ubuntu22.04上编译了,之前只支持在Ubuntu20.04和18.04上编译。最近发布的Beta5以及之前的版本还不支持,需要修改源码
    发表于 02-10 22:43

    ubuntu22.04中构建所需的软件报错怎么解决?

    下午好,现在我正在 LS1043A nxp 开发板上工作,我正在尝试在 ubuntu22.04 中构建所需的软件,但出现以下错误。软件包“python3-crypto”没有安装候选
    发表于 04-06 08:21

    Ubuntu 22.04上安装S32DS,密钥的窗口在哪来找?

    你好。我第一次尝试在 Ubuntu 22.04 上安装 S32DS。我想我输入了错误的激活密钥。取消安装过程并重新启动过程后卡在 6% Check License。我有 trey 重新启动安装过程,但我没有看到输入我的密钥的窗口我该怎么办?
    发表于 04-06 07:50

    Ubuntu 22.04构建CST 3.3.1时出错了的原因?怎么处理?

    您好,我正在尝试在 Ubuntu 22.04 中构建 CST 3.3.1,但它立即失败了kmx-cst/code/back_end-engine/src$ make make: *** 没有规则来
    发表于 04-06 06:00

    求分享适用于Ubuntu* 22.04系统的OpenVINO™安装程序包

    找不到适用于 Ubuntu* 22.04 系统的OpenVINO™安装程序包。
    发表于 08-14 14:58

    SDK环境部署在ubuntu22.04上,构建完成之后发现work路径下缺少文件如何解决?

    我的SDK环境部署在ubuntu22.04上,apt install差异: sudo apt install libssl-dev zlib1g-devlibyaml-dev都构建完成之后发现
    发表于 09-12 06:00

    虚拟机:Linux查看DNS服务器IP地址的方法

    虚拟机:Linux查看DNS服务器IP地址的方法
    的头像 发表于 06-22 15:12 1.4w次阅读
    虚拟机:Linux<b class='flag-5'>查看</b><b class='flag-5'>DNS</b>服务器IP地址的<b class='flag-5'>方法</b>

    【赛昉科技昉·星光RISC-V单板计算机试用体验】安装ubuntu Server 22.04及挂载分区

    ·星光板上运行openwrt了,但是这是通过QEMU的方式运行的,今天主要写自己如何安装镜像和挂载分区的。 1 首先从昉·星光 论坛下载Ubuntu Server 22.04 LTS Kernel
    的头像 发表于 11-14 11:22 1922次阅读
    【赛昉科技昉·星光RISC-V单板计算机试用体验】安装<b class='flag-5'>ubuntu</b> Server <b class='flag-5'>22.04</b>及挂载分区

    如何在Ubuntu 22.04上安装Microsoft Edge浏览器

    、macOS 和 Linux。在 Ubuntu 22.04 或任何其他版本中,默认的 Ubuntu 浏览器是 Mozilla Firefox。但是你可以选择在 Ubuntu 中安装 C
    的头像 发表于 02-20 11:13 1.3w次阅读

    MS Windows协议轻松远程访问 Ubuntu 22.04 桌面

    导致的错误,Ubuntu 22.04 Beta 之前将其排除在外。 在最近的更新中,这个功能终于回来了。用户现在可以使用更安全且对 MS Windows 友好的协议轻松远程访问 Ubuntu
    的头像 发表于 05-29 11:24 3377次阅读
    MS Windows协议轻松远程访问 <b class='flag-5'>Ubuntu</b> <b class='flag-5'>22.04</b> 桌面

    如何在 Linux 上查看本地 DNS 缓存

      刷新本地 DNS 缓存可以解决 HTTP 错误并保护您免受 DNS 欺骗。以下是在 Linux 上执行此操作的方法。 当您使用域名访问网站时,您的系统会向 DNS 服务器发送请求以
    的头像 发表于 06-26 10:52 3297次阅读
    如何在 Linux 上<b class='flag-5'>查看</b>本地 <b class='flag-5'>DNS</b> 缓存

    华纳云:Ubuntu18.04系统如何查询域名的具体dns信息

    Ubuntu18.04系统中查询域名的DNS信息是一项常见且重要的操作。本文将介绍几种实用的方法,帮助用户快速获取所需的DNS信息。 使用dig命令 dig命令是一个强大的
    的头像 发表于 08-08 15:50 382次阅读