可以通过 rpm -qa | grep bind查看bind包的情况。
安装bind:yum install bind -y
DNS和BIND基础:
DNS and BIND
DNS:domain name service,协议(c/s,53/udp,53/tcp)
BIND:bekerlay internat name domain,ISC (www.isc.org)
TCP:面向连接的协议
UDP:user datagram protocol,无连接协议
本地名称解析配置文件:hosts
/etc/hosts
%WINDOWS%/system32/drivers/etc/hosts
1.1.1.1 www.magedu.com
1.2.2.2 www.apple.com
Top level domain:tld
com,edu,lil,gov,net,int
三类:组织域,国家域(.cn,.iq,.hk,.tw)、反向域
DNS查询类型:
递归查询
迭代查询
名称服务器:城内负责解析本城内的名称的主机
根服务器:13组服务器
解析类型:
name-->ip
ip-->name
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
DNS服务器的类型:
主DNS服务器
辅助DNS服务器
缓存DNS服务器
转发型
主DNS服务器:维护所负责解析的城内解析库服务器,解析库有管理员维护
从DNS服务器:从主DNS服务器或其他DNS服务器那里复制(区域传递)一份解析库
序列号:解析库的版本号,前提:主服务器解析库内容发生变化,其序列递增
刷新时间:从服务器从主服务器请求同步解析库的时间间隔
重试时长:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔
过期时长:从服务器始终联系不到主服务器,多久后放弃从服务器角度,停止提供服务
"通知"机制:
区域传送:
金量传送:传递整个解析库
增量传送:传递解析库变化的那部分内容
DNS:
domain:
正向:FQDN-->IP
反向:IP-->FQDN
各需要一个解析库来分别负责本地域名的正向和反向解析
正向区域
反向区域
FQDN:full qualified domain name
www.magedu.com
一次完整的查询请求经过的流程:
client:-->hosts文件-->DNS server
local cache-->DNS server(recursion)-->server cache-->iteration(迭代)-->
解析答案:
肯定答案:
否定答案
权威答案
非权威答案
资源记录:resource record,RR
记录类型:A,AAAA,PIR,SOA,NS,CNAMW,MX
SOA:start of authority,其实授权记录,一个区域解析库有且仅有一个SOA记录,而必须为解析库的第一条记录
A:internet address,作用,FQDN-->IP
AAAA:FQDN-->IPv6
PTR:pointer,IP-->FQDN
NS:name server 专用于标明当前区域的DNS服务器
CNAME:canonical name,别名记录
MX:mail exchanger,邮件交换器
资源记录定义的格式:
语法:name [TTL] IN rr_type value
注意:
(1)TTL可从全局继承
(2)@可用于引用当前区域名字
(3)同一个名字可以通过
SOA:
name:当前区域的名字,例如“magedu.com”
value:由多部分组成
(1)当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
(2)当前区域管理员的邮箱地址,但地址中不能使用@符号,用.替换,例如linuxdu.magedu.com
(3)主从服务协调属性的定义异机否定的答案的同一的TTL
例如:
magedu.com 86400 IN SOA magedu.com. nsadmin.magedu.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
NS:
name:当前区域的名字
value:当前区域的某DNS服务器的名字,例如ns.magedu.com.
注意:衣蛾区域可以有多个NS记录
例如:
magedu.com IN NS ns1.magedu.com.
magedu.com IN NS ns2.magedu.com.
注意:
(1)相邻的两个资源资料的name相同时,胡须的可省略
(2)对NS记录而言,任何一个NS记录后面的服务器名字,都应该在后续有一个A记录
MX:
name:当前区域的名字
value:当前区域的某邮件服务器的主机名
一个区域内,MX记录可以有多个,但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级,数字越小优先级越高
例如:
magedu.com IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
注意:
(1)对MX记录而言,任何一个MX记录后面的服务器的名字,都应该在后续有一个A记录
A:
name:某主机的FQDN,例如www.magedu.com
搭建主从服务器时要注意防火墙设置,如centos 7关闭fireware
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
否则从服务器可能会无法同步主服务器配置主从配置:
测试反向解析:
dig -x IP@SERVER
模拟区域传送:
dig -x axfr ZONE_NAME@SERVER
例如:
dig -x axfr magedu.com @192.168.137.130
host命令:
host [-t type] name [SERVER]
nslookup:
交互式模式
nslookup>
server IP:指明使用哪个DNS SERVER进行查询
set q=EE_TYPE:指明查询的资源记录类型
NAME:要查询的名称
反向区域:
区域名称:网络地址反写.in-adde.arpa.
172.16.100.-->100.16.172.in-addr-arpa.
步骤:
1、定义区域(在/etc/named.conf或/etc/named.rfc1912.zones)
2、定义区域解析库文件(/var/named/xxx.zone)
3、重载配置文件
(1)定义区域
zone "ZONE_NAME" IN{
type {master|slave|forward};
file "网络地址.zone"
};
例如:
zone "192.168.137.in-addr.arpa" IN {
type master;
file "192.168.137.zone";
};
注意:反向区域的名字
反写的网段地址.in-addr.arpa
如:192.168.137.in-addr.arpa
(2)区域解析库文件
注意:不需要MX和A,以及AAAA记录,以PTR记录为主
示例:
区域名称为192.168.137.in-addr.arpa
例如:文件 /etc/named.rfc1912.zones 中:
zone "192.168.137.in-addr.arpa" IN {
type master;
file "192.168.137.zone";
};
/var/named/192.168.137.zone文件:
$TTL 86400
$ORIGIN 192.168.137.in-addr.arpa.
@ IN SOA ns1.magedu.com. admin.magedu.com. (
2018031501
1H
5M
7D
1D )
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
11 IN PTR ns1.magedu.com.
11 IN PTR www.magedu.com.
12 IN PTR mx1.magedu.com.
12 IN PTR www.magedu.com.
13 IN PTR mx2.magedu.com.
同样需要文件更改权限,检查语法错误,重新加载配置文件,重启服务
再测试
dig -t ptr 192.168.137.130 192.168.137.130
别忘了修改权限和属主属组
检查语法错误
named-checkconf
重载配置文件
rndc reload
主从复制:
1.应该为一台独立的名称服务器
2.主服务器的区域解析库文件中必须有一条NS记录指向从读武器
3.从服务器只需要定义区域,而无需提供解析局文件,解析库文件应该放置于/var/named/slavers/目录中
4.主服务器得允许从服务器做区域传送
定义从区域的方法:
zone "ZONE_NAME" IN {
type slave;
masters{ MASTER_ip };
FILE "slavers/ZONE_NAME.zone";
};
rndc:
rndc-->rndc(953/tcp)
rndc command
command:
reload:重载主配置文件和区域解析库文件
relaod zone:重载解析库文件不解析主配置文件
retransfer zone:手动启动区域传送过程,而不管序列号是否增加
notify zone:重新对区域传送发通知
reconfig:重载主配置文件
queryog:开启或关闭查询日志
trace:递增debug级别
trace level:指定使用的级别