Linux環(huán)境下IPv6 DNS服務(wù)器配置
Linux下搭建DNS Server的軟件首選Bind,其有不同的版本,Window DNS是從Bind 4.x改進(jìn)過來的,另外Bind8.x和Bind9.x從安全性及擴(kuò)充性方面做了很多改進(jìn),為了實(shí)現(xiàn)對IPv6 DNS的支持,采用Bind v9來實(shí)現(xiàn),bind9.x提供IPv6 socket的DNS查詢,支持IPv6資源記錄。關(guān)于Bind9.x的詳細(xì)特性建議到Bind的Web站點(diǎn)查閱,Bind的最新版本可以到www.isc.org/products/BIND/ 去下載
#wget http://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz# tar -xzf bind-9.2.1.tar.gz# cd bind-9.2.1#./configure -enable-ipv6 -with-openssl# make && make install
Bind軟件安裝后,會產(chǎn)生幾個固有文件,分為兩類。一類是配置文件在/etc目錄下,一類是DNS記錄文件在/var/named目錄下。加上其他相關(guān)文件,共同設(shè)置DNS服務(wù)器。named.conf為默認(rèn)的主配置文件(須手動建立),設(shè)置一般的named參數(shù),指向該服務(wù)器使用的域數(shù)據(jù)庫信息的源,這類源可以是本地磁盤文件或遠(yuǎn)程服務(wù)器。
named .ca :指向根域名服務(wù)器 named .1ocal :用于在本地轉(zhuǎn)換回送地址 named .hosts :將主機(jī)名映射為IP地址
下面以筆者實(shí)驗(yàn)建立的純IPv6實(shí)驗(yàn)網(wǎng)的域名secv6.your.domain為例說明如何配置支持AAAA及A6記錄的IPv6 DNS服務(wù)器。
文件清單1 /etc/named.conf
options ...{directory "/var/named";
// a caching only nameserver configzone "." IN ...{type hint;file "named.ca";};
// this defines the loopback name lookupzone "localhost" IN ...{type master;file "master/localhost.zone";allow-update ...{ none; };};
// this defines the loopback reverse name lookupzone "0.0.127.in-addr.arpa" IN ...{type master;file "master/localhost.rev";allow-update ...{ none; };};
// This defines the secv6 domain name lookup// Secure (signed) zone file is// secv6.your.domain.signed// Regular zone file is secv6.your.domainzone "secv6.your.domain" IN ...{type master;file "master/secv6.your.domain.signed";// file "master/secv6.your.domain";};
// this defines the secv6 domain reverse// name lookup (AAAA)zone "secv6.int" IN ...{type master;file "master/secv6.int";};
// this defines the secv6 domain reverse// name lookup (A6)zone "secv6.arpa" IN ...{type master;file "master/secv6.rev";};
// secret key truncated to fitkey "key" ...{algorithm hmac-md5;secret "HxbmAnSO0quVxcxBDjmAmjrmhgDUVFcFNcfmHC";};
文件清單2 /var/named/master/secv6.your.domain
$TTL 86400$ORIGIN secv6.your.domain.@ IN SOA secv6.your.domain. hostmaster.your.domain. (2002011442 ; Serial number (yyyymmdd-num)3H ; Refresh15M ; Retry1W ; Expire1D ) ; MinimumIN MX 10 noah.your.domain.IN NS ns.secv6.your.domain.$ORIGIN secv6.your.domain.ns 1D IN AAAA fec0::1:250:b7ff:fe14:35d01D IN A6 0 fec0::1:250:b7ff:fe14:35d0secv6.your.domain. 1D IN AAAA fec0::1:250:b7ff:fe14:35d0 1D IN A6 0fec0::1:250:b7ff:fe14:35d0pc2 1D IN AAAA fec0::1:250:b7ff:fe14:35d0 1D IN A6 0fec0::1:250:b7ff:fe14:35d0pc3 1D IN A6 0 fec0::1:250:b9ff:fe00:131 1D IN AAAAfec0::1:250:b9ff:fe00:131pc6 1D IN A6 0 fec0::1:250:b7ff:fe14:3617 1D IN AAAAfec0::1:250:b7ff:fe14:3617pc4 1D IN A6 0 fec0::1:250:b7ff:fe14:35c4 1D IN AAAAfec0::1:250:b7ff:fe14:35c4pc5 1D IN A6 0 fec0::1:250:b7ff:fe14:361b 1D IN AAAAfec0::1:250:b7ff:fe14:361bpc7 1D IN A6 0 fec0::1:250:b7ff:fe14:365a 1D IN AAAAfec0::1:250:b7ff:fe14:365apc1 1D IN A6 0 fec0::1:250:b9ff:fe00:12e 1D IN AAAAfec0::1:250:b9ff:fe00:12epc1 1D IN A6 0 fec0:0:0:1::1 1D IN AAAA fec0:0:0:1::1$INCLUDE "/var/named/master/Ksecv6.your.domain.+003+27034.key"
Dnssec配置命令:
dnssec-keygen -a DSA -b 768 -n ZONE secv6.your.domain dnssec-signzone -o secv6.your.domain secv6.your.domain
說明:DNSSEC主要依靠公鑰技術(shù)對于包含在DNS中的信息創(chuàng)建密碼簽名。密碼簽名通過計算出一個密碼hash數(shù)來提供DNS中數(shù)據(jù)的完整性,并將該hash 數(shù)封裝進(jìn)行保護(hù)。私/公鑰對中的私鑰用來封裝hash數(shù),然后可以用公鑰把hash數(shù)譯出來。如果這個譯出的hash值匹配接收者剛剛計算出來的hash樹,那么表明數(shù)據(jù)是完整的。不管譯出來的hash數(shù)和計算出來的hash數(shù)是否匹配,對于密碼簽名這種認(rèn)證方式都是絕對正確的,因?yàn)楣€僅僅用于解密合法的hash數(shù),所以只有擁有私鑰的擁有者可以加密這些信息。
文件清單3 var/named/master/localhost.zone
// localhost.zone Allows for local communications // using the loopback interface $TTL 86400$ORIGIN localhost.@ 1D IN SOA @ root (42 ; serial (d. adams)3H ; refresh15M ; retry1W ; expire1D ) ; minimum1D IN NS @1D IN A 127.0.0.1
文件清單4 /var/named/master/localhost.rev
// localhost.rev Defines reverse DNS lookup on // loopback interface $TTL 86400$ORIGIN 0.0.127.in-addr.arpa.@ IN SOA 0.0.127.in-addr.arpa. hostmaster.secv6.your.domain. (42 ; Serial number (d. adams)3H ; Refresh15M ; Retry1W ; Expire1D ) ; MinimumNS ns.secv6.your.domain.MX 10 noah.ip6.your.domain.PTR localhost.
文件清單5 /var/named/master/secv6.rev
// secv6.rev Defines reverse lookup for secv6
// domain in A6 format$TTL 86400$ORIGIN secv6.arpa.@ IN SOA
secv6.arpa. hostmaster.secv6.your.domain.
(2002011442 ; Serial number (yyyymmdd-num)3H ; Refresh15M ; Retry1W ; Expire1D ) ;
MinimumNS ns.secv6.your.domain.MX 10 noah.your.domain.;
fec0:0:0:1::/64$ORIGIN [xfec0000000000001/64].
secv6.arpa.[x0250b7fffe1435d0/64] 1D IN PTR
pc2.secv6.your.domain.[x0250b9fffe000131/64] 1D IN PTR
pc3.secv6.your.domain.[x0250b7fffe143617/64] 1D IN PTR
pc6.secv6.your.domain.[x0250b7fffe1435c4/64] 1D IN PTR
pc4.secv6.your.domain.[x0250b7fffe14361b/64] 1D IN PTR
pc5.secv6.your.domain.[x0250b7fffe14365a/64] 1D IN PTR
pc7.secv6.your.domain.[x0250b9fffe00012e/64] 1D IN PTR
pc1.secv6.your.domain.
文件清單6. /var/named/master/secv6.int
// secv6.int Defines reverse lookup for secv6// domain in AAA format$TTL 86400$ORIGIN secv6.int.@ IN SOA secv6.int. hostmaster.secv6.your.domain.
(2002011442 ; Serial number (yyyymmdd-num)3H ; Refresh15M ; Retry1W ; Expire1D ) ; MinimumNS ns.secv6.your.domain.MX 10 noah.your.domain.;
fec0:0:0:1::/64$ORIGIN 1.0.0.0.0.0.0.0.0.0.0.0.0.c.e.f.secv6.int.0.d.5.3.4.1.e.f.f.f.7.b.0.5.2.0 IN PTR pc2.secv6.your.domain.e.2.1.0.0.0.e.f.f.f.9.b.0.5.2.0 IN PTR
pc1.secv6.your.domain.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR pc1.secv6.your.domain.1.3.1.0.0.0.e.f.f.f.9.b.0.5.2.0 IN PTR
pc3.secv6.your.domain.7.1.6.3.4.1.e.f.f.f.7.b.0.5.2.0 IN PTR pc6.secv6.your.domain.4.c.5.3.4.1.e.f.f.f.7.b.0.5.2.0 IN PTR
pc4.secv6.your.domain.b.1.6.3.4.1.e.f.f.f.7.b.0.5.2.0 IN PTR pc5.secv6.your.domain.
DNS客戶端的配置
/etc/hosts 是主機(jī)的一個列表文件。作用是如果系統(tǒng)的 IP 不是動態(tài)生成,就可以使用它。對于簡單的主機(jī)名解析(點(diǎn)分表示法),在請求 DNS 或 NIS 網(wǎng)絡(luò)名稱服務(wù)器之前,/etc/hosts.conf 通常會告訴解析程序先查看這里。 search secv6.your.domain nameserver fec0::1:250:b7ff:fe14:35d0
DNS服務(wù)器測試
使用dig命令重新:
A6 格式DNS 查詢
pc2% dig 0.0.0.0 secv6.your.domain a6; <<>> DiG 9.1.0 <<>> 0.0.0.0 secv6.your.domain A6[...];secv6.your.domain. IN A6;; ANSWER
SECTION:secv6.your.domain. 86400 IN A6 0 fec0::1:250:b7ff:fe14:35d0;; AUTHORITY SECTION:secv6.your.domain. 86400 IN NS ns.secv6.your.domain.;;
ADDITIONAL SECTION:ns.secv6.your.domain. 86400 IN A6 0 fec0::1:250:b7ff:fe14:35d0ns.secv6.your.domain. 86400 IN AAAA fec0::1:250:b7ff:fe14:35d0AAAA 格
式DNS 查詢pc2% dig 0.0.0.0 secv6.your.domain aaaa; <<>> DiG 9.1.0 <<>> 0.0.0.0 secv6.your.domain AAAA[...];secv6.your.domain. IN AAAA;; ANSWER
SECTION:secv6.your.domain. 86400 IN AAAA fec0::1:250:b7ff:fe14:35d0;; AUTHORITY SECTION:secv6.your.domain. 86400 IN NS ns.secv6.your.domain.;;
ADDITIONAL SECTION:ns.secv6.your.domain. 86400 IN A6 0 fec0::1:250:b7ff:fe14:35d0ns.secv6.your.domain. 86400 IN AAAA fec0::1:250:b7ff:fe14:35d0
至此,IPv6 DNS服務(wù)器搭建完畢。