用來定義bind服務程序的運行。vim
用來保存域名和ip地址對應關係的所在位置。相似於圖書的目錄,對應着每一個域和相應ip地址所在的具體位置,當須要查看或修改時,可根據這個位置找到相關文件。服務器
將INPU規則鏈設置爲只容許指定網段的主機訪問本機的53端口,拒絕來自其餘全部主機的流量:dom
1 [root@localhost ~]# iptables -I INPUT -s 192.168.127.0/24 -p tcp --dport 53 -j ACCEPT 2 [root@localhost ~]# iptables -A INPUT -p tcp --dport 53 -j REJECT 3 [root@localhost ~]# iptables -L 4 Chain INPUT (policy ACCEPT) 5 target prot opt source destination 6 ACCEPT tcp -- 192.168.127.0/24 anywhere tcp dpt:domain 7 ACCEPT udp -- anywhere anywhere udp dpt:domain 8 ACCEPT tcp -- anywhere anywhere tcp dpt:domain 9 ACCEPT udp -- anywhere anywhere udp dpt:bootps 10 ACCEPT tcp -- anywhere anywhere tcp dpt:bootps 11 REJECT tcp -- anywhere anywhere tcp dpt:domain reject-with icmp-port-unreachable
bind,該包爲DNS服務的主程序包tcp
bind-utils,該報爲客戶端工具,默認安裝,用於搜索域名指令工具
1 [root@localhost ~]# yum install bind bind-utils -y oop
1 [root@localhost ~]# vim /etc/named.conf 2 options { 3 listen-on port 53 { any; }; #127.0.0.1改爲any;表示服務器上的全部IP地址都可提供DNS域名解析服務 4 listen-on-v6 port 53 { ::1; }; 5 directory "/var/named"; 6 dump-file "/var/named/data/cache_dump.db"; 7 statistics-file "/var/named/data/named_stats.txt"; 8 memstatistics-file "/var/named/data/named_mem_stats.txt"; 9 allow-query { any; }; #把localhost改成any;表示容許全部人對本服務器發送DNS查詢請求
1 [root@localhost ~]# vim /etc/named.rfc1912.zones 2 zone "crucis.top" IN { 3 type master; 4 file "named.localhost"; 5 allow-update { none; }; 6 }; 7 8 zone "localhost" IN { 9 type master; 10 file "named.localhost"; 11 allow-update { none; }; 12 };
能夠從/var/named目錄中複製一份正向解析的模板文件(named.localhost),而後把域名和和ip地址的對應數據填寫數據配置文件中並保存。再複製時記得加上-a參數,這能夠保留原始文件的全部者、所屬組、權限屬性等信息,以便讓bind服務程序順利讀取文件內容spa
1 [root@localhost ~]# cd /var/named 2 [root@localhost named]# ls 3 data dynamic named.ca named.empty named.localhost named.loopback slaves 4 [root@localhost named]# cp named.localhost crucis.top.zone -a
1 [root@localhost named]# vim crucis.top.zone 2 $TTL 1D 3 @ IN SOA @ rname.invalid. ( 4 0 ; serial 5 1D ; refresh 6 1H ; retry 7 1W ; expire 8 3H ) ; minimum 9 NS @ 10 A 127.0.0.1 11 www IN A 192.168.127.140 12 lc IN A 192.168.127.140 13 whq IN A 192.168.127.140 14 ~
1 [root@localhost named]# systemctl restart named rest
1 [root@localhost network-scripts]# systemctl restart network code
1 [root@localhost ~]# nslookup 2 > www.crucis.top 3 Server: 192.168.127.140 4 Address: 192.168.127.140#53 5 6 ** server can't find www.crucis.top: NXDOMAIN