编译支持EDNS client-subnet的dig

下载解压BIND

wget ftp://ftp.isc.org/isc/bind9/9.9.3/bind-9.9.3.tar.gz
tar xf bind-9.9.3.tar.gz
cd bind-9.9.3

下载补丁

这个patch貌似只有9.3.3版本

wget http://wilmer.gaa.st/edns-client-subnet/bind-9.9.3-dig-edns-client-subnet-iana.diff

给代码打补丁

patch -p0 < bind-9.9.3-dig-edns-client-subnet-iana.diff

编译

./configure --without-openssl
make

--without-openssl是因为我们只需要dig,不需要其他东西。但是这样会失去DNSSEC支持。
建议还是完整configure。
make之后不要make install,这样会把bind完整安装了。直接在bin文件里找出dig的二进制文件使用。

测试

把编译好的dig文件放到/usr/bin文件夹

dig @ns1.google.com www.google.es +client=157.88.0.0/16

查看CLIENT-SUBNET行是否有回应。
并不是所有DNS都支持此功能,而且udp模式支持,tcp模式可能不支持。使用前必须进行测试。

目前支持的dns

8.8.8.8,8.8.4.4,119.29.29.29

你可能感兴趣的:(编译支持EDNS client-subnet的dig)