一:簡介DNS
DNS(Domain Name System你弦,域名系統(tǒng))
- 域名和IP地址相互映射的一個分布式數(shù)據(jù)庫碌廓,通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析邑茄。而DNS的主要作用就是域名解析蛋叼,將主機名解析成IP地址。DNS這種機制能夠完成從域名(FQDN)到主機識別IP地址之間的轉(zhuǎn)換部蛇。
查詢類型
- 遞歸查詢:一般是客戶機與服務(wù)器之間的查詢即客戶機只發(fā)送一次請求摊唇,其他的工作將有上層服務(wù)器去解決,最后一層一層地反饋結(jié)果到客戶端搪花。
- 迭代查詢:迭代查詢一般是DNS服務(wù)器與DNS服務(wù)器之間的查詢遏片,即最開始的DNS服務(wù)器負責發(fā)起請求,其他涉及到的DNS服務(wù)器只負責響應即可撮竿,然后一直查找到目標DNS服務(wù)器吮便,并將結(jié)果返回給客戶端。
主從DNS服務(wù)器
- DNS也是一個網(wǎng)絡(luò)服務(wù)幢踏,因此就有對應的端口號髓需,其端口號為53號,通常DNS在查詢時是以UDP/53來查詢房蝉,而在主從同步時是以TCP/53來同步僚匆。為了克服網(wǎng)絡(luò)中的單點故障問題,DNS服務(wù)器一般會有主DNS服務(wù)器與從DNS服務(wù)器搭幻。
- 主DNS服務(wù)器:管理和維護所負責解析的域內(nèi)解析庫的服務(wù)器
- 從DNS服務(wù)器:從主服務(wù)器或從服務(wù)器“復制”(區(qū)域傳輸)解析庫副本
DNS的實現(xiàn)工具
- DNS是一種機制咧擂,一種協(xié)議,實現(xiàn)這種機制的常用工具為bind, BekerleyInternatName Domain, ISC (www.isc.org)檀蹋,目前為使用最廣泛的DNS服務(wù)器軟件松申。
DNS的配置文件主要有:
- /etc/named.conf ,/etc/named.rfc1912,zones俯逾;DNS的主配置文件贸桶;
- /var/named;該目錄為DNS數(shù)據(jù)庫文件存放的目錄桌肴,每一個與文件都存放在這里皇筛;
- /etc/rc.d/init.d/named;為DNS服務(wù)的服務(wù)腳本
rndc
- 一臺物理服務(wù)器可同時為多個區(qū)域提供解析坠七,并且該DNS服務(wù)器上必須要有根區(qū)域文件named.ca水醋;
- rndc(remote name domain controller)服務(wù)可為DNS提供輔助性的管理功能旗笔,該服務(wù)監(jiān)聽在主機TCP的953號端口,默認與bind安裝在同一主機上离例,且只能通過127.0.0.1來連接DNS服務(wù)的named進程换团。
二:主DNS服務(wù)器的配置
(這里我是在centos7上配置DNS,centos6作為測試)
1:安裝DNS的服務(wù)器軟件bind
yum -y install bind
查看端口
關(guān)閉防火墻并設(shè)置為開機不允許啟動
centos6的設(shè)置為:
iptables -Fchkconfig iptables off
chkconfig --list iptables
#查看防火墻狀態(tài)
centos7的設(shè)置為:
systemctl is-enables firewall
#查看防火墻是否開啟
systemctl disable firewall
啟動named服務(wù)
systemctl start named
2宫蛆、目的:在當前的DNS搭建一個域艘包,使其能解析cxj.com域。
創(chuàng)建域
<1>首先編輯/etc/named.conf文件耀盗,本文以添加cxj.com域為例想虎。
在修改/etc/named.conf文件時,最好先備份:
cp -p /etc/named.conf /etc/named.conf.bak
vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
allow-query { localhost; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
此配置文件中常見的修改選項:
listen-on port 53 { localhost; };
localhost:相當于一個變量叛拷,代表本機所有IP
allow-query { localhost; };
只允許本機查詢
allow-query { any; }; any
表示任何主機舌厨,也可寫成一個網(wǎng)段
<2> 創(chuàng)建域zone數(shù)據(jù)庫文件 區(qū)域定義:本機能夠為哪些zone進行解析,就要定義哪些zone忿薇;
zone "ZONE_NAME" IN {};
其中zone的格式為:
zone "ZONE_NAME" IN {type{master|slave|hint|forward};file "ZONE_NAME.zone";};
type: 該zone的類型裙椭,主要類型有:
hint:根
master:主DNS
slave: 從DNS
forward: 專用于轉(zhuǎn)發(fā)
創(chuàng)建zone:
vim /etc/named.rfc1912.zones
<2>創(chuàng)建zone的數(shù)據(jù)庫文件:
<3> 修改解析庫文件的屬主屬組并重啟DNS服務(wù)
[root@centos7 /var/named]#chown named.named cxj.com.zone
[root@centos7 /var/named]#chmod 640 cxj.com.zone
[root@centos7 /var/named]#systemctl restart named
Stopping named: . [ OK ]
Starting named: [ OK ]
<4>如果沒有報錯信息,則說明配置正常署浩,若有相關(guān)報錯揉燃,則查看系統(tǒng)日志/var/log/messages. 也可進行語法檢測:
[root@centos7 ~]# named-checkconf
[root@centos7 ~]# named-checkzone "cxj.com"
/var/named/cxj.com.zone zone cxj.com/IN: loaded serial 20170728
OK
<5> 重載主配置文件和區(qū)域解析庫文件
rndc reload
3:在centos6上測試一下
三:步驟總結(jié)
1、安裝DNS的服務(wù)器軟件bind
yum -y install bind
開啟服務(wù):`systemctl start named`
2筋栋、修改/etc/named.conf文件
listen-on port 53 {localhost; };allow-query {any; };
3炊汤、編輯/etc/named.rfc1912.zones文件,添加
zone "cxj.com"
{type master;
file "cxj.com.zone";
}
4弊攘、創(chuàng)建區(qū)域數(shù)據(jù)庫文件vim /var/named/cxj.com.zone
$TTL 1D
@ IN SOA ns.cxj.com dnsadmin.cxj.com
(
20170728 ;serial
10M ;refresh
3M ;retry
1D ;expire
3D ) ;mininum
NS ns
ns A 192.168.59.128
www CNAME websrv
websrv A 1.1.1.2
ftpsrv A 2.2.2.2
5抢腐、語法檢查
主配置文件語法檢查:named-checkconf
解析庫文件語法檢查:named-checkzone "cxj.com" /var/named/cxj.com.zone
重載主配置文件和區(qū)域解析庫文件:rndc reload
6:測試
[root@centos6 ~]# dig websrv.cxj.com @192.168.59.128