Linux网络命令:用于管理和查询系统名称解析器(DNS)的实用工具resolvectl详解
目录
一、概述
二、主要功能
1. 查询系统的 DNS 配置
2. 管理链路
3. 管理 DNS 服务器
4. 管理 DNS 搜索域
5. 统计信息
三、用法
1、基本语法
2、命令行选项OPTIONS
3、要执行的具体操作COMMAND
4、获取帮助
四、示例
1. 查看所有链路的 DNS 配置
2. 查看特定链路的详细信息
3. 列出所有 DNS 服务器
4. 为特定链路设置 DNS 服务器
5. 为系统全局设置 DNS 服务器
6. 列出所有 DNS 搜索域
7. 为特定链路设置 DNS 搜索域
8. 查看 DNS 查询的统计信息
五、其他事项
一、概述
resolvectl 是一个在较新的 Linux 发行版中提供的命令行工具,用于查询和控制系统的名称解析服务(DNS 解析)。它主要用于与 systemd-resolved 服务交互,后者是 systemd 的一部分,负责处理系统的 DNS 查询和缓存结果。
二、主要功能
resolvectl 具有以下主要功能:
1. 查询系统的 DNS 配置
可以查看当前系统的 DNS 服务器、搜索域和链路信息。
2. 管理链路
可以列出、显示详细信息或修改网络接口(链路)的 DNS 设置。
3. 管理 DNS 服务器
添加、删除或修改系统的 DNS 服务器。
4. 管理 DNS 搜索域
添加、删除或修改系统的 DNS 搜索域。
5. 统计信息
查看 DNS 查询的统计信息,包括成功和失败的查询数量。
三、用法
1、基本语法
resolvectl [OPTIONS...] COMMAND ...
在这个语法中,
OPTIONS 是命令行选项,用于改变 resolvectl 的行为,
COMMAND 是想要执行的具体操作。以下是 resolvectl 支持的一些常见选项和命令:
2、命令行选项OPTIONS
有如下命令行选项:
-4: 仅使用 IPv4 查询。
-6: 仅使用 IPv6 查询。
-i IFACE: 指定查询所用的网络接口。
-p PORT: 指定查询所用的端口号。
-t TYPE: 指定查询的 DNS 资源记录类型。
-c CLASS: 指定查询的 DNS 类别。
-d: 启用调试输出。
-h: 显示帮助信息。
-V: 显示版本信息。
3、要执行的具体操作COMMAND
有如下操作命令:
query DOMAIN [NAME]: 查询 DNS 记录。DOMAIN 是想要查询的域名,NAME 是可选的记录名称。
reset-statistics: 重置网络解析服务的统计信息。
flush-caches: 清空 DNS 解析缓存。
synthesize DOMAIN: 为给定的域名生成合成记录。
openpgp DOMAIN EMAIL [HASH]: 查询 OpenPGP 公钥记录。
tlsa DOMAIN PORT [HASH]: 查询 TLSA 记录。
status: 显示网络解析服务的状态。
revert: 重置所有设置到默认值。
current: 显示当前的 DNS 设置。
reset-server-features: 重置服务器特性标志。
4、获取帮助
输入如下命令
resolvectl -h
出现如下图所示的这个命令的帮助信息
四、示例
以下是一些常用的 resolvectl 命令及其示例:
1. 查看所有链路的 DNS 配置
resolvectl status
这个命令会显示所有网络接口的 DNS 服务器、路由域和链路状态等信息。
实际操作如下图所示:
2. 查看特定链路的详细信息
resolvectl link <interface>
例如,查看 eth0 接口的详细信息:
resolvectl link eth0
3. 列出所有 DNS 服务器
采用如下命令:
resolvectl dns
这个命令会显示系统中配置的所有 DNS 服务器。
实际操作如下图所示:
4. 为特定链路设置 DNS 服务器
采用如下命令:
resolvectl set-dns <interface> <server1> [server2 ...]
例如,为 eth0 接口设置两个 DNS 服务器:
resolvectl set-dns eth0 8.8.8.8 8.8.4.4
5. 为系统全局设置 DNS 服务器
采用如下命令:
resolvectl set-dns --global <server1> [server2 ...]
例如,为整个系统设置 Google 的公共 DNS 服务器:
resolvectl set-dns --global 8.8.8.8 8.8.4.4
6. 列出所有 DNS 搜索域
采用如下命令:
resolvectl domain
实际操作如下图所示:
7. 为特定链路设置 DNS 搜索域
采用如下命令:
resolvectl set-domain <interface> <domain> [...]
例如,为 eth0 接口设置搜索域 example.com:
resolvectl set-domain eth0 example.com
8. 查看 DNS 查询的统计信息
采用如下命令:
resolvectl statistics
实际操作如下图所示:
五、其他事项
1、使用 resolvectl 命令前,请确保的系统安装了 systemd-resolved 服务,并且该服务正在运行。
2、某些命令可能需要超级用户权限(使用 sudo)。
3、更改 DNS 配置后,可能需要一些时间才能生效,具体取决于系统的缓存策略和网络接口的当前状态。
resolvectl 是一个强大的工具,可以帮助轻松管理和监控系统的 DNS 配置。通过它,可以确保的系统使用正确的 DNS 服务器和搜索域,从而优化网络性能和安全性。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。