一、因特网的域名结构
(1)国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。
(2)通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。
二、Dns小常识:
现如今全球一共投放13个根服务器 服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。
三、域名解析的发展
1.Hosts文件 ---------------需要不停地添加域名
2.周期性任务 ---------------在指定时间自动的去写(自动化)
3.server ---------------东西太多(性能)
4.分布式数据库 -------------全球各地分放
四、客户端查询dns信息的过程
五、DNS协议的一种开源实现--bind
提供dns服务的套件叫bind但执行服务名称的是named
我们说DNS是一种协议,而对于每一种协议的实现都需要程序员开发出遵循这种协议规范的软件程序来实现,这里要介绍的BIND就是DNS协议的一种开源实现
学习bind这款软件之前,务必掌握以下基本概念:
dns:协议
bind:dns协议的一种开源实现
named:bind程序运行起来后的进程名
bind的相关配置文件
/etc/named.conf 主配置文件
/var/named/zidingyi.zone 区域数据文件,需要手动创建(域名解析库文件)
上述文件可以不按照.zone的格式来写,.zone只是为了分清此文件解析的域
/etc/rndc.conf: 相关配置文件
/usr/sbin/named-checkconf 配置检查脚本工具
/usr/sbin/named-checkzone 区域配置检查工具
/var/named/named.ca 区域文件dns数据库
DNS在53端口上监听请求并提供响应的服务。出于性能的考虑,DNS查询请求用UDP协议交互并且每个请求的大小小于512字节,但是如果返回的请求大小大于512字节,交互双方会协商使用TCP协议
六、搭建dns服务器时经常遇到的术语和字符
区域类型:
主区域:主DNS,master
从区域:从DNS,slave
缓存区域:hint,在找不到相关信息的时候去从根查找,标识根的地址
转发区域:forward,转发到指定区域,而不是指向根Haha.com
资源记录名称(域):(数据库中的每一个条目)baidu.com
SOA(起始授权记录) 记录提供有关dns区域工作方式的信息 -----具体负责哪个区域的解析
这代表着master/salve相关的认证,授权资料。不论有没有设定master/salve的架构都需要设定好。
NS 将自己的域名映射到DNS 将域名最终映射到哪一台主机(由哪一台主机去解析当前所定义的域主机)
A (ipv4地址记录) 资源记录将主机名映射到ipv4地址。
CNAME (规范名称)记录域别名 132 主机名
MX 邮件交换记录
PTR指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)
AAAA (IPV6 地址记录) 资源记录(四A记录)将主机名映射到ipv6地址。
七、五种定义的信息
serial number: 序列号 定义当前使用的数据序列号 sn遵循“年+月+日+编号” ·
主和从的更新依据
refresh: 定义检查间隔时间 (上次和这次变化的时间)
retry: 重试时间 < 检查时间>
expire: 过期时间 缓存放多久过期
negative answer ttl: 否定答案的缓存时长 (没有指定生存期的数据可以保存在数据中的时间及TTL值)
案例一:正向解析
vim /etc/named.conf 主配置文件
注:/var/named/是所有域解析库文件放置的目录
Vim /var/named /named.baidu.com
conf文件中的directory中的名字 这个是conf文件中的file中的名字
查看正向解析是否成功
1、ping www.baidu.com
2、
案例二: 反向解析
vim /etc/named.conf 注意这个格式经常少in和把小数点打成“-”
Vim /var/named/named.1.168.192
查看反向解析是否成功
案例三:完全区域传送
在master服务器配置的conf文件:
并在/var/named/{named.baidu.comm,named.qq.com,named.1.168.192}这三个文件分别配置它们的dns解析库,再重启named服务即可!!
Slave服务器配置的conf文件:
除上面这个步骤之外,slave服务器上不需要做其他任何创建编辑文件的动作,三个file都会从master服务器自己拿自己区域的数据,并改名为didi.com、qq.com、named.1.168.192!!
案例四:增量区域传送
1.修改主服务器的区域配置文件/var/named/named.baidu.com
要想让slave服务器实现同步,必须让主从服务器的解析库不一致!
2、重启主从服务器进程
3、查看结果( 增量区域服务器才查看服务器里的日志)
通过tail -f /var/log/message来查看从服务器的日志,注意传送过程
[root@localhost ~]# tail -f /var/log/messages Jan 23 16:29:50 localhost named[73533]: reloading configuration succeeded Jan 23 16:29:50 localhost named[73533]: reloading zones succeeded Jan 23 16:29:50 localhost named[73533]: zone baidu.com/IN: refresh: failure trying master 192.168.18.132#53 (source 0.0.0.0#0): operation canceled Jan 23 16:29:50 localhost named[73533]: zone baidu.com/IN: loaded serial 2018012313 Jan 23 16:29:50 localhost named[73533]: zone baidu.com/IN: expired Jan 23 16:29:50 localhost named[73533]: all zones loaded Jan 23 16:29:50 localhost named[73533]: running Jan 23 16:29:50 localhost systemd: Reloaded Berkeley Internet Name Domain (DNS). Jan 23 16:30:01 localhost systemd: Started Session 48 of user root. Jan 23 16:30:01 localhost systemd: Starting Session 48 of user root. |
有可能实现增量传输了,序列号也还是为0,或者看不到序列号增加!
案例五:批量解析
批量解析(主服务器:vim /var/named/named.baidu.com)
$GENERATE 1-10 $.linux7.com. IN A 192.168.221.$
在从服务器上: ping 1.baidu.com
反向批量解析格式
$GENERATE 1-10 $ IN PTR $.linux7.com.