DNS (domain name servise) 应用层协议
互联网上人们容易记住一个字符串而不是一个ip地址,所以,通知用一些域名来指向一些服务器ip地址;
1. tld:Top Level Domain 顶级域
组织域:.com, .net, .org, .gov, .edu, .mil
国家域:.iq, .tw, .hk, .jp, .cn, ...
2.dns查询类型
递归查询
迭代查询
3.dns名称解析方式
名称->ip 正向解析
ip->名称 反向解析
4.dns数据库文件的记录类型
SOA:起始授权记录; 一个区域解析库有且只能有一个SOA记录,而且必须放在第一条;
NS:Name Service,域名服务记录;一个区域解析库可以有多个NS记录;其中一个为主的;
A:地址记录ipv4
AAAA:地址记录ipv6
CNAME:别名记录
PTR:ip->FQDN 反向解析
MX:邮件交换器
SOA:name: 当前区域的名字;例如”cqywc.com.”,或者“2.3.4.in-addr.arpa.”;
alue:有多部分组成
1 当前区域的区域名称(也可以使用主DNS服务器名称);
2当前区域管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代;
3 (主从服务协调属性的定义以及否定答案的TTL)
例如:
cqywc.com. 86400 IN SOA cqywc.com. admin.cqywc.com. (
2017010801 ; serial //序列号用于同步
2H ; refresh // 刷新时间
10M ; retry // 重试时间
1W ; expire //过期时间
1D ; negative answer ttl // 访问拒绝时间
)
bind安装和应用
1.安装
[root@localhost ~]# yum install -y bind
主配置文件:/etc/named.conf
解析库文件:/var/named/
测试工具 dig host
dig 命令:dig [-t RR_TYPE] name [@SERVER] [query options]
查询选项:
+[no]trace:跟踪解析过程;
+[no]recurse:进行递归解析;
注意:反向解析测试
dig -x IP
例如:
[root@localhost /]# dig -t +trace www.cqywc.com
;; Warning, ignoring invalid type +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> -t +trace www.cqywc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21542
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.cqywc.com. IN A
;; ANSWER SECTION:
www.cqywc.com. 600 IN A 121.42.89.4
;; Query time: 326 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Apr 14 21:13:42 2018
;; MSG SIZE rcvd: 47
2.配置解析一个正向区域: cqywc.com 为例
定义区域: 编辑配置文件
[root@localhost /]# vim /etc/named.rfc1912.zones
zone "cqywc.com" IN {
type master;
file "cqywc.com.zone";
allow-update { none; };
};
建立区域数据文件
在/var/named目录下建立区域数据文件;文件名为 cqywc.com.zone
修改权限
[root@localhost named]# chgrp named /var/named/cqywc.com.zone
[root@localhost named]# chmod o= cqywc.com.zone
检查语法
[root@localhost named]# named-checkzone cqywc.com /var/named/cqywc.com.zone
zone cqywc.com/IN: loaded serial 4235644385
OK
[root@localhost named]# named-checkconf
启动服务
[root@localhost named]# service named start
测试
[root@localhost named]# dig -t A www.cqywc.com @192.168.1.80
2.配置反向解析区域
1定义区域
在主配置文件中或主配置文件辅助配置文件中实现;
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "ZONE_NAME.zone";
};
注意:反向区域的名字
反写的网段地址.in-addr.arpa
100.16.172.in-addr.arpa
2配置文件
[root@localhost named]# vim /etc/named.rfc1912.zones
增加
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.zone";
};
vim /var/named/1.168.192.zone
3 修改权限
chgrp named /var /named/1.168.192.zone
chmod o=/var /named/1.168.192.zone
4.检查语法
[root@localhost named]# named-checkconf
[root@localhost named]# named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.zone
5.检验结果
[root@localhost ~]# dig -x 192.168.1.71 @192.168.1.80
3.主从配置
配置一个从区域:
On Slave
(1) 定义区域
定义一个从区域;
zone "ZONE_NAME" IN {
type slave;
file "slaves/ZONE_NAME.zone";
masters { MASTER_IP; };
};
配置文件语法检查:named-checkconf
(2) 重载配置
systemctl reload named.service
(3)如果不是同一个操作系统可能会报dns_master_load: file format mismatch错 需要在/etc/named.conf 里加上masterfile-format text ;
On Master
1) 确保区域数据文件中为每个从服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址;
注意:时间要同步;
ntpdate命令;
配置slave
zone "cqywc.com" IN {
type slave;
file "cqywc.com.zone";
masters { 192.168.1.80; };
};
可以看到启动之后已经向主服务器请求 cqywc.com.zone
测试 向本机请求cqywc.com
完成!!!