下载解压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