修改server的配置文件/etc/named.conf 10options { 11 listen-on port 53 { any; }; #監聽全部端口的bind服務 12 listen-on-v6 port 53 { ::1; }; 13 directory "/var/named"; 14 dump-file "/var/named/data/cache_dump.db"; 15 statistics-file "/var/named/data/named_stats.txt"; 16 memstatistics-file "/var/named/data/named_mem_stats.txt"; 17 allow-query { any; }; #容許任何人詢問此臺服務器 18 forwarders { 172.25.254.250;};#主機不知道的域名則去詢問172.25.254.250這臺主機。
此時只須要將client的機器的dns解析修改成server的ip,這時server就爲client的DNS的服務器。linux
1》正向解析vim
從/etc/named.conf 中能夠看到:include "/etc/named.rfc1912.zones"; 包含的配置文件/etc/named.rfc1912.zones,在這個配置文件中能夠添加正向解析的文件,一樣反向解析的配置文件也在這裏。緩存
vim /etc/named.rfc1912.zones zone "feitian.com" IN { #主機域 type master; file "fengkai.com"; #包含本地DNS高速緩存的文件 allow-update { none; }; #不容許任何人更新DNS解析文件 }; [root@server ~]# cd /var/named/ [root@server named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@server named]# cp -p named.localhost fengkai.com [root@server named]# vim fengkai.com $TTL 1D @ IN SOA dns.feitian.com. root.feitian.com. ( #分別爲DNS服務器的主機名dns.feitian.com和管理員的郵箱root.feitian.com #@表明域名也就是feitian.com.最後有個點,在此文件中要以'.'結尾,否則會加上本機的域名 #2015080901表示你是2015年08月09日第一次修改,此處的數字在主從同步DNS服務器時,若是不一樣主從會開始作主從同步。也就是版本號。 2015080901 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum NS dns.feitian.com. dns A 172.25.254.231 feng A 172.25.254.111 feng A 172.25.254.112 bbs CNAME hui.feitian.com. #這裏就是重命名,訪問bbs.feitian.com是,他會解析出hui.feitian.com. #這裏是輪換解析,一次是111,下一次就是112 hui A 172.25.254.222
2》反向解析bash
vim /etc/named.rfc1912.zones zone "254.25.172.in-addr.arpa" IN{ type master; file "fengkai.com"; allow-update { none; }; }; [root@server named]#cp -p var/named/named.loopback fengkaiNaNr [root@server named]# vim /var/named/fengkai.com $TTL 1D @ IN SOA dns.feitian.com.root.feitian.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.feitian.com. dns A 172.25.254.231 101 PTR fengkai.com. 202 PTR kaikai.com.
3. DNS 雙向解析服務器
DNS雙向解析指的是讓一臺服務器有兩個DNS解析文件,通常分爲內網和外網,在/etc/named.conf網絡
中添加以下內容:dom
[root@server ~]# vim /etc/named.conf /* zone "." IN { type hint; file "named.ca"; }; include"/etc/named.rfc1912.zones"; include "/etc/named.root.key"; */ #將其註釋,分別添加到下面的標籤中 view localnet { match-clients {172.25.254.231;}; zone "." IN { type hint; file "named.ca"; }; include"/etc/named.rfc1912.zones"; }; view any { match-clients {any;}; zone "." IN { type hint; file "named.ca"; }; include"/etc/named.rfc1913.zones"; };
將/etc/named.rfc1912.zons拷一份名稱爲named.rfc1913.zons,分別讓其指向不一樣的解析文件
ide
cp /etc/named.rfc1912.zones /etc/named.rfc1913.zones vim /etc/named.rfc1912.zones zone "feitian.com.in" IN { type master; file "fengkai.com.out"; allow-update { none; }; }; vim /etc/named.rfc1913.zones zone "feitian.com.out" IN { type master; file "fengkai.com.zone"; allow-update { none; }; };
而後在/var/named/下作以下操做oop
[root@server named]# cp -p named.localhost fengkai.com.out [root@server named]# cp -p named.localhost fengkai.com.in [root@server named]# vim fengkai.com.in $TTL 1D @ IN SOA dns.feitian.com.root.feitian.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum NS dns.feitian.com. dns A 172.25.254.231 feng A 172.25.254.112 bbs CNAME hui.feitian.com. hui A 172.25.254.222 [root@server named]# vim fengkai.com.out $TTL 1D @ IN SOA dns.feitian.com.root.feitian.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum NS dns.feitian.com. dns A 1.1.1.231 feng A 1.1.1.112 bbs CNAME hui.feitian.com. hui A 1.1.1.222
#修改server的配置文件 [root@localhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; #修改客戶端client [root@localhost ~]# vim/etc/named.rfc1912.zones zone "feitian.com" IN { type slave; masters {172.25.254.231;}; file "slaves/feitian.com"; allow-update { any; }; }; [root@localhost ~]# systemctl restart named [root@localhost ~]# ls /var/named/slaves/ feitian.com
將你的防火牆和selinux開啓namd和dhcp服務,或者關閉,修改你的client的DNS爲你主機的IP。測試
1》生成祕鑰
dnssec-keygen -a HMAC-MD5 -b 128 -n HOSTwestos ##生成密匙 [root@server named]# dnssec-keygen -aHMAC-MD5 -b 128 -n HOST westos Kwestos.+157+53107 ll | gerp Kwestos -rw-------. 1 root root 50 Aug 9 04:25Kwestos.+157+53107.key -rw-------. 1 root root 165 Aug 9 04:25Kwestos.+157+53107.private [root@server named]# catKwestos.+157+53107.key westos. IN KEY 512 3 157 MyuqKKel9qE2kj0CZ1NzUw== [root@server named]# cp /etc/rndc.key /etc/westos.key -p vim /etc/westos.key key "westos" { ##key名稱 algorithmhmac-md5; secret"MyuqKKel9qE2kj0CZ1NzUw=="; ##key的加密字符 }; [root@server named] chmod g+x /var/named/ #保證named服務可修改你的解析文件
2》 配置服務dhcp服務
編輯dhcp的配置文件/etc/dhcp/dhcp.conf
dhcpoption domain-name"feitian.com"; option domain-name-servers 172.25.254.231; #你的DNS解析 ddns-update-style interim; #開啓dhcp的更新服務。 subnet 172.25.254.0 netmask 255.255.255.0 { range 172.25.254.80 172.25.254.90; option routers 172.25.254.250; } #37行之後所有刪掉後加上以下內容: key westos { algorithm hmac-md5; secret MyuqKKel9qE2kj0CZ1NzUw==; #就是你生成的鑰匙文件,key的加密字符 }; zone feitian.com. { primary 127.0.0.1; key westos; };
3》修改named.conf文件
在options標籤的外邊加一個包含你鑰匙的路徑 :include "/etc/westos.key";
修改option標籤的前幾行
options { listen-on port 53 { any; }; //listen-on-v6 port 53 { ::1; }; #註釋掉等於所有開啓 directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; };
4》修該/etc/named.rfc1912.zones文件
在/etc/named.rfc1912.zones中複製一個修改爲正向解析模式,反向解析也能夠,這裏以正向解析爲例
zone "westos.com" IN { #域名,與/etc/dhcp/dhcpd.conf和你的測試機器的域名結尾保持一致 type master; file "westos.com.zone"; allow-update { key westos; }; #鑰匙的名字 };
5》測試
將你的鑰匙發給從機隨便哪一個目錄,以/var/named/目錄爲例
在你的client上執行以下命令測試你的祕鑰有沒有生效
usupdate -k Kwestos.+157+53107.private server 172.25.254.231 update add www.westos.com 86400 A 172.25.254.88 send #這時你是用dig 就會出現 172.25.254.88的解析結果
在你的client端修改你的主機域名,與你server上的weston.com保持一致,可是解析文件中沒有解析。
好比:feitain.westos.com,而後設置你的主機的網絡爲dhcp,這是你若是dig 你client的域名解析結果會根你client的IP變化說明你的花生殼就作好了。