总结

安装: 

正向主

反向主

测试工具

主从同步配置

dns基础工作原理

bind Berkerley Information Name Domain

DNS Domain Name Server

TCP/UDP 53

UDP 53 无连接协议,域名解析

TCP 53 面向连接协议,区域传送

历史IANA

统一名字,自己hosts中维护(%windows%/system32/etc/hosts, /etc/hosts)

统一维护,定时任务计划

统一查询,glibc共享库作为客户端基于UDP协议解析域名

    hash

    数值分布式

    域名分布式:授权方式,将部分功能分别放在独立的主机,数据同步(一致性、可用性、容错性)

查询

迭代查询:查询,返回参考结果

递归查询:一次查询,返回最终结果

解析区域

正向解析:FQDN-->IP

反向解析区域:IP-->FQDN

答案

肯定: 解析成功

否定:解析没有结果

权威:域所负责的DNS服务器所返回的结果

非权威:

主从DNS区别

关联:保证DNS服务器“可靠性

主:管理员维护 

从:由SOA内部特性决定如何同步/传送/复制

SOA内部特性

serial  序列号:区域解析库的版本号

refresh 刷新

retry 重试: 小于刷新时长

expire 过期时长:重试多久就不再重试,从DNS放弃角色

否定答案的TTL 

宏定义

$TTL:肯定答案的缓存时长

$ORIGIN:区域(正、反)名

BIND是DNS协议的软件实现

区域解析库:由众多Resource Record组成

资源记录的类型:PTR, A, NS, SOA, AAAA, MX

轮循:同主机名,对应多个不同的IP

子域授权上级域的DNS服务器的区域解析库中添加glue record[胶水]记录即可

DNS工作模式

运营商缓存DNS

本地缓存DNS

DNS缓存服务器

1、配置YUM源

2、安装程序包:

3、安装后的相关文件

3、配置

1)备份配置文件

# cp -v /etc/named.conf{,.bak}

2)配置结果

**//allow-query { localhost; }; 表示 allow-query { any; };

3)测试配置文件是否正确

# named-checkconf

4)启动服务

# service named start# ss -tunlp | fgrep :53

5)测试

1、查看提供的测试工具# rpm -q -l bind-utils2、尝试用本地的缓存DNS服务器,迭代解析请求# dig -t A www.baidu.com @192.168.1.100

DNS正反解析

正向解析

1)配置为缓存DNS服务器

2)添加zone配置: /etc/named.rfc1912.zones

# vim + /etc/named.rfc1912.zones

3)测试语法

# named-checkconf

4)编辑区域解析库

1、进入解析库的目录# cd /var/named2、查看文件# ls3、编辑解析库的文件

5)测试语法

# named-checkzone "magedu.com" /var/named/magedu.com.zone

6)修改权限

named进程的属主是named,对magedu.com.zone文件的权限和属组需要悠# chmod 640 magedu.com.zone# chown :named magedu.com.zone

7)重载配置文件

# rndc reload# service named reload

9)显示输出信息

# rndc status

10)测试解析

 

测试解析的命令: host, dig, nslookup

host命令

使用示例

# dig -t SOA magedu.com @192.168.1.100# dig -t NS magedu.com @192.168.1.100# dig -t MX magedu.com @192.168.1.100# dig -t A www.magedu.com @192.168.1.100

dig命令

wKioL1m8_OHiT-aEAAAKGswuEZk149.png

使用示例

# host -t SOA magedu.com 192.168.1.100# host -t NS magedu.com 192.168.1.100# host -t MX magedu.com 192.168.1.100# host -t A www.magedu.com 192.168.1.100

nslookup命令

使用示例

# nslookup www.magedu.com 192.168.1.100

反向解析

1)保证正向测试正常

2)添加zone配置: /etc/named.rfc1912.zones

# vim + /etc/named.rfc1912.zones

3)测试语法 

# named-checkconf

4)反向区域解析库的配置

1、基于正向,修改出反向# cp magedu.com.zone 192.168.1.1.zone

5)权限

# chmod 640 192.168.1.100.zone# chown .named 192.168.1.100.zone

6)语法

# named-checkzone "1.168.192.in-addr.arpa" 192.168.1.1.zone

7)重载

# service named reload# rndc reload

8)状态

# rndc status

9)测试

# dig -x 192.168.1.100 @192.168.1.100# host -t PTR 192.168.1.100 192.168.1.100

DNS主从同步

配置从DNS服务器

1、时间同步

# cp -v /etc/ntp.conf{,.bak}

# service ntpd start
在从DNS服务器上同步时间
<等10min>
# ntpdate 192.168.1.100

2、从bind的版本>=主bind版本

3、从dns位于一个独立的主机

4、ns记录和nsip指向的是同一个主机,从dns服务器

5、从dns服务器区域解析库的位置

6、从dns被允许从主dns作区域传送(allow-transfer { DNS_SLAVE_IP; };

正向同步

1)配置缓存名称服务器

# cp -v /etc/named.conf{,.bak}

# service named start# ss -tunlp | grep 53

2)配置/etc/named.rfc1912.zones文件

3)测试

# named-checkconf

4)重载

# service named reload# rndc reload

5)查看文件

反向同步

2)配置/etc/named.rfc1912.zones文件

3)测试

4)重载

5)查看文件

尝试修改主DNS服务器,测试是否能主从同步

正向

# rndc reload

反向

# rndc reload