標籤:dns bind
一、DNS簡介
二、Bind安裝
三、Bind配置
四、Bind檢查設定檔
五、驗證
六、常見錯誤
七、待整理
一、DNS簡介
DNS(Domain Name Service),網域名稱解析服務。
發展史:
1、早期電腦比較少時人們通過建立修改自己電腦上的hosts檔案來實現IP與網域名稱的對應關係。
2、為了統一管理,更快地更新到最新的hosts檔案,人們統一到一台ftp伺服器上下載hosts檔案。
3、當電腦爆炸性增長時,通過統一到ftp伺服器上下載更新hosts檔案不現實,於是產生了多級域來管理網域名稱。上級網域名稱只負責給下級域授權。
網域名稱類型:
【根域】
.
【一級域/頂級域】
組織域、商業機構域:com, com.cn, org, gov, edu, net
國家域:cn, hk, tw, jp, kr, ir, iq, my, us, uk, ru, jp
反向域:in-addr-arpa
【二級域】
baidu.com sina.com.cn google.cn 163.com
例:(在此忽略TTL說明)使用者202.96.128.1設定的DNS伺服器為:8.8.8.8,它要擷取 tieba.baidu.com 的IP地址。過程如下:1、202.96.128.1先查詢本地有沒查詢快取,如果沒有則向DNS伺服器查詢。2、DNS伺服器8.8.8.8先務器的資訊,因此它不會直接返回 tieba.baidu.com 的IP,而是告訴 DNS伺服器8.8.8.8 :“com. 的地址是 1.1.1.1,你去找它查詢吧。”4、8.8.8.8到com中詢問。同理,com. 域中不存放tieba.baidu.com 的IP,它會返回資訊給DNS伺服器8.8.8.8 :“ baidu.com. 的地址是 10.10.10.10,你去找它查詢吧。”5、此時DNS伺服器8.8.8.8向baidu.com. 查詢 tieba.baidu.com 的地址,baidu.com 會返回tieba.baidu.com. 的IP:12.12.12.12給DNS伺服器。6、DNS伺服器接收到查詢結果後會把記錄緩衝下來方便使用者以後查詢,同時返回查詢結果給使用者202.96.128.1。
二、Bind安裝
Bind(Berkeley Internet Name Domain)
CentOS中使用yum安裝:yum install bind bind-utils bind-libs portreserve
portreserve 我也不知道是什麼,依賴關係安裝了它bind-libs bind要用到的庫bind-utils 一些工具,nslookup,host,dig等bind 就是作網域名稱解析的安裝包
三、Bind配置
# vim /etc/named.conf # 修改監聽地址和允許查詢配置 listen-on port 53 { 192.168.86.16; }; //設定bind監聽在192.168.86.16:53 allow-query { 192.168.86.0/24; }; //設定允許192.168.86.0網段設定為DNS伺服器來查詢# vim /etc/named.rfc1912.zones # 增加contoso.com域和反向解析192.168.86.arpazone "contoso.com" IN { type master; file "contoso.com"; //檔案名稱一定要跟後面建立的zone檔案(/var/named/下的)對應 allow-update { none; };};zone "86.168.192.in-addr.arpa" IN { type master; file "192.168.86.arpa"; //檔案名稱一定要跟後面建立的zone檔案(/var/named/下的)對應 allow-update { none; }; };
# vim /var/named/contoso.com
$TTL 1800
@IN SOAcontoso.com. admin.contoso.com. (
0; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@INNSlinuxdns.contoso.com.
linuxdnsINA192.168.86.16
dc01INA192.168.86.1
dc02INA192.168.86.2
*INA192.168.86.12
# vim /var/named/192.168.86.arpa
$TTL 1800
@IN SOAcontoso.com. admin.contoso.com. (
0; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@INNSlinuxdns.contoso.com.
16INPTRlinuxdns.contoso.com.
1INPTRdc01.contoso.com.
2INPTRdc02.contoso.com.
# chown named.named /var/named/192.168.86.arpa /var/named/contoso.com
# /etc/init.d/named start
四、Bind檢查設定檔
# named-checkconf /etc/named.conf
# named-checkconf /etc/named.rfc1912.zones
# named-checkzone contoso.com /var/named/contoso.com
五、驗證
nslookup linuxdns.contoso.com 192.168.86.16
nslookup dc01.contoso.com 192.168.86.16
nslookup dc02.contoso.com 192.168.86.16
dig linuxdns.contoso.com @192.168.86.16
六、常見錯誤排查
1、bind的設定檔,allow-query、listen-on,
2、zone檔案的格式和許可權(named需要對檔案有讀取的許可權) # chown -R named.named /var/named/
3、iptables(開放53連接埠) # iptables -F
4、selinux(一般設定為permissive或者disabled) # setenforce 0
七、待整理更新
本文出自 “勿忘初心” 部落格,請務必保留此出處http://winterysea.blog.51cto.com/9677346/1679834
CentOS下使用Bind配置DNS服務