Posted in Linux

讓 BIND 支援 EDNS 查詢

讓 BIND 支援 EDNS 查詢 Posted on 2019 年 01 月 29 日Leave a comment

部分大型DNS業者將於2019年2月1日執行EDNS符合性驗證

Cloudflare、Google、IBM等大型公共DNS業者(即提供1.1.1.1、8.8.8.8、9.9.9.9等業者)公布預計將於2019年2月1日當天嚴格執行EDNS的符合性驗證,相關EDNS介紹,可參閱: http://www.myhome.net.tw/2011_03/p03.htm

目前DNS的一些擴充功能,如DNSSEC、DNS Cookie等大量使用EDNS協定,如DNS軟體或網路設備不支援EDNS協定將造成DNS無法順利解析或解析反應變慢。

想要了解你的DNS伺服器是否完整支援EDNS協定,可至 https://dnsflagday.net/ 進行檢測,並參閱相關解決方案。

是不是很嚴重 ~~~~~~~~~~~~~~

EDNS 它的 E 就是 Extension,多了一些為了安全性等等問題而要再把一些東西放進去的延伸的功能,

所以只要 DNS Server 沒有它就將在 2 月 1 號後查詢會有問題 (查不到)。

我們可以 dig 去驗證,而在 bind 9.10 版本以上已支援 dig 使用 EDNS 功能,以下的都要上 patch。

上 patch 的 dig 的參數是用 +client,而 9.10 版以上的是 +subnet

驗證自己的 (subnet 隨便給也行)

./bin/dig/dig @ns-41-b.gandi.net ssorc.tw +subnet=0.0.0.0/0

google 已支援

./bin/dig/dig @8.8.8.8 ssorc.tw +subnet=0.0.0.0/0

有支援 EDNS 的回應

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 0.0.0.0/0/24
;; QUESTION SECTION:

 

接著我要升級 DNS Server 的 BIND 版本

在 CentOS 6 上編譯 BIND 9.11 版本 (參考) (因為 yum 無法拿到最新版本,所以自己編)

yum install -y openssl-devel gcc
wget https://ftp.isc.org/isc/bind9/9.11.5-P1/bind-9.11.5-P1.tar.gz
tar zxvf bind-9.11.5-P1.tar.gz 
cd bind-9.11.5-P1

./configure \
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin \
--sbindir=/usr/sbin --sysconfdir=/etc --localstatedir=/var \
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 \
--libexecdir=/usr/libexec --sharedstatedir=/var/lib \
--mandir=/usr/share/man --infodir=/usr/share/info --with-libtool \
--with-pic --disable-static --disable-isc-spnego --enable-threads \
--enable-ipv6 --enable-filter-aaaa --enable-querytrace \
--enable-fixed-rrset --enable-rpz-nsip --enable-rpz-nsdname \
--with-dlopen=yes --with-dlz-filesystem=yes

make
make install
service named restart

 

有線上檢測工具 (要開放 TCP 53 port 才行)
https://ednscomp.isc.org/
https://dnsflagday.net/

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *