DIG 命令并启用 EDNS(扩展的DNS协议,EDNS0)

  1. 安装 dig 命令: dig 是由 bind-utils(在 CentOS/RHEL 中)或 dnsutils(在 Ubuntu/Debian 中)软件包提供的工具。

  2. 支持 EDNS 的 dig 版本: 现代的 dig 工具默认支持 EDNS,无需额外配置。确保使用最新版本的 dig


安装 dig 命令

对于 CentOS/RHEL:
sudo yum install -y bind-utils
对于 Ubuntu/Debian:
sudo apt update sudo apt install -y dnsutils

安装完成后,检查 dig 是否安装成功:

dig -v

测试 dig 是否支持 EDNS

执行以下命令,查看是否启用了 EDNS:

dig +edns google.com

如果返回结果中有类似如下字段,则说明支持 EDNS:

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096

替换/升级支持 EDNS 的 dig

如果系统中的 dig 版本过旧,导致无法正确支持 EDNS,可以通过以下方式升级或替换:

1. 从源代码安装最新版本的 bind-utils

绑定工具(bind-utilsdnsutils)的 dig 是 ISC 提供的开源工具。可以从 ISC 官网 下载最新的源码并编译安装。

示例步骤:

# 下载最新版本的 BIND
wget https://downloads.isc.org/isc/bind9/9.18.16/bind-9.18.16.tar.xz

# 解压缩
tar -xf bind-9.18.16.tar.xz
cd bind-9.18.16

# 配置编译环境
./configure --prefix=/usr/local

# 编译并安装
make
sudo make install

安装完成后,确认新的 dig 已安装:

/usr/local/bin/dig -v
2. 使用包管理工具安装更新版本

在支持的发行版中,可以通过安装最新的绑定工具包来升级:

  • CentOS:启用 epel-release 源,尝试获取更新版本。
  • Ubuntu:使用 apt-get dist-upgrade 或安装更新的 PPA 源。

完成上述步骤后,运行 dig +edns 测试功能即可验证是否成功启用 EDNS 支持。

dig www.google.com @1.1.1.1 +subnet=95.70.167.167

; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> www.google.com @1.1.1.1 +subnet=95.70.167.167
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51911
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.google.com.		273	IN	A	142.250.72.132

;; Query time: 3 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Mon Jan 13 20:24:45 CST 2025
;; MSG SIZE  rcvd: 59

你可能感兴趣的:(运维)