-
安装
dig
命令:dig
是由bind-utils
(在 CentOS/RHEL 中)或dnsutils
(在 Ubuntu/Debian 中)软件包提供的工具。 -
支持 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-utils
或 dnsutils
)的 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