dns|dns bind 正向解析区域、反向解析区域;主/从;
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 INSOAcqywc.com.admin.cqywc.com.(
2017010801;
serial//序列号用于同步
2H;
refresh // 刷新时间
10M;
retry// 重试时间
1W;
expire //过期时间
1D;
negative answer ttl// 访问拒绝时间
)
bind安装和应用
1.安装 【dns|dns bind 正向解析区域、反向解析区域;主/从;】
[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
文章图片
1.png 修改权限
[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.png
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.png
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
文章图片
4.png
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; };
};
文章图片
5.png
可以看到启动之后已经向主服务器请求 cqywc.com.zone
测试 向本机请求cqywc.com
文章图片
6.png
完成!!!
推荐阅读
- 叨叨酱|叨叨酱 |《奇葩大会》宠物正向训练师宁蔚(动物使用着最高级的社交媒体)
- DataBinding入门进阶指南(一)
- 写给DataBinding初学者的入门介绍
- [002]Binder整体框架的介绍
- 手动实现bind方法
- 隧道搭建|DNS隧道技术
- 使用DNSLOG,配置mysql的secure_file_priv参数
- 抓包就明白CoreDNS域名解析
- 深入浅出 Golang 资源嵌入方案(go-bindata篇)
- Javascript之bind,call,apply方法的使用场景和区别