DNS:domain Name Service 监听在53/udp, 53/tcp
C/S架构:S(bind)、C(共享)
bind:bekerley internet name domain
FQDN:Full Qualified Domain Name完全限定域名
www.magedu.com.: FQDN
magedu.com:域名
主机名解析 :把一种名称转换为另一种名称的过程 ,一般指字串和数字之间的转换。
解析库:某种存储
username (主机名)<--> uid(IP)
某种存储:
文本文件
关系型数据库
LDAP:Lightweight Directory Access Protocol(轻量目录访问协议),监听在 389/tcp
解析:根所用户所提供一种名称,去查询解析库,以得到另一种名称
解析的过程为,先读取hosts文件中有没有定义,如果没有去本地缓存查找,再去权威服务器缓存查找,最后向根服务器发出请求,中心服务器返回查找路径信息,再由权威服务器发起请求。知道返回请求IP。
根域:root domain
一级域:top-level domain
二级域:公司、组织、个人使用
主机:www
递归:
A --> B --> C --> D
迭代:
A --> B
A --> C
A --> D
DNS解析过程中:主机向权威DNS服务器请求是递归,权威服务器请求解析的过程是迭代。
DNS中的名称与对应的主机的主机名不要求是一样的。
一个名称可以对应多个IP
一个IP上也可以多个名称
一级域:
组织域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv
国家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa
域:domain, 区域:zone
域:每一个域都要有正反向解析文件,是一个物理概念,域和域之间是互联的
区域:是一个域的范围,里边包含这个区域的所有主机。
DNS正向解析:FQDN --> IP
正向解析库
DNS反向解析:IP --> FQDN
反向解析库
区域解析库:
资源记录:rr(resource record)
有类型的概念:用于此记录解析的属性
SOA: Start Of Authority,主DNS服务器 起始授权记录,一个区域文件只能有一个;
NS:Name Server ,从DNS服务器。
MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);
A:FQDN --> IP,专用于正向解析库
PTR: IP --> FQDN,专用于反向解析库
AAAA:FQDN --> IPv6,专用于正向解析库
CNAME: Canonical Name,正式名称
解析库文件同步的过程:区域传送 (单方向传送) zone transfer
完全区域传送:axfr
增量区域传送: ixfr
主从服务器之间解析库的同步是通过:周期性检查 + 通知 维护的,查询基于UDP协议,传送基于TCP协议。
资源记录类型:
任何解析库文件的第一个记录的类型必须是SOA
格式:name [ttl] IN RRType value(IP地址)
name: 区域名称,通常可以简写为@
value: 主DNS服务器的FQDN,也可以当前区域的区域名称;
主DNS服务器配置:
例如:@ IN SOA ns.magedu.com. admin.magedu.com. ( serial number ;解析库的版本号,例如2014080401 refresh time ;周期性同步的时间间隔 retry time ;重试的时间间隔 expire time ;过期时长 negative answer ttl ;否定答案的统一缓存时长 )
从DNS服务器配置:
NS:name server
name: 区域名称
value: DNS服务器的FQDN
例如:@ IN NS ns.magedu.com.
注意:
如果有多台NS服务器,每一个都必须有对应的NS记录;
对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;
MX:Mail eXchanger
name: 区域名称
value: 邮件服务器的FQDN
例如:
@ IN MX 10 mail.magedu.com.
@ IN MX 20 mail2.magedu.com.
注意:
如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性
对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;
A: Address
name: FQDN
value: IP
例如:
www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 1.1.1.2
pop3.magedu.com. IN A 1.1.1.3
imap.magedu.com. IN A 1.1.1.3
CNAME: Canonical Name
name: FQDN
value: FQDN
例如:
www.magedu.com. IN A 1.1.1.5
web.magedu.com. IN CNAME www.magedu.com.
PTR: pointer
name: 逆向的主机IP地址加后缀in-addr.arpa,例如172.16.100.7/16, 网络地址为172.16, 主机地址为100.7,其name为7.100.in-addr.arpa.
value: FQDN
例如:
7.100.in-addr.arpa. IN PTR www.magedu.com.
DNS服务器的基本配置步奏:
(1)首先安装bind程序包。
(2)修改主配置文件。
1)定义区域
/etc/named.conf
options { 全局配置段; // directory "/var/named"; }; zone "ZONE_NAME" IN { type {master|slave|hint|forward}; file "mageedu.com.zone"; }; logging { 日志; };
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones
zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; }; }; ------------------>解析式解析为/etc/named.conf中定义的IP zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; ------------------->解析式解析为/etc/named.conf中定义的IP zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; -------------------->ipv6本地地址的反向解析 zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; --------------------->127.0.0.1的反向解析 zone "0.in-addr.arpa" IN { type master; file "named.empty"; allow-update { none; }; }; ----------------------->空地址的反向解析 zone "aolens.com" IN { type master; file “/etc/named/aolens.com.zone"; -------->aolens.com.zone文件存在于directory定义的目录下/etc/named/ }; ------------------------>自定义的解析名
检查name.conf文件有没有错误
name-checkconf
service named configtest
还可以检查某一块是否有错误;
如果应为随机数不够而卡在这个步奏,一个是多敲键盘,另一个是改变/etc/rc.d/init.d/named文件中在
service named status
rndc: remote name domain controller 远程域名控制 监听在953/TCP端口。
重新载入文件rndc redoad
区域解析库文件:/var/named/zone_name.zone
我们在/etc/named.conf, /etc/named.rfc1912.zones 中配置了aolens.com.zone文件,那么便要配置此文件,没有创建,命名为aolens.com.zone
并且配置此文件的属组和权限
属组要求为named
权限要求644
检测配置文件是否有错
service named configtest或
named-checkconf检测完整文件
named-checkzone "aolens.com" /var/named/aolens.com.zone检测部分块
service named reload重新载入 或者 rndc reload 只有不改监听的端口就可以使用reload
第一次ping www.aolens.com 没有ping通,我们发现是/etc/resolv.conf文件中IP没有指向自己,改为aolens.com指向的IP就可以了。
而ping命令测试略显拙劣,我们bind-utils程序包里有一下测试工具,常用的就 dig、host、nslookup
而使用这三款工具时/etc/resolv.conf中的IP指向谁都没问题。
(1)host
host -t RRType NAME [SERVER]
解析出www.aolens.com
查看aolens.com的DNS服务器的域名是什么?
(2)nslookup
nslookup >
server IP
set type={A|SOA|NS|MX|...}
name 例如在此例子中是www.aolens.com
(3)dig
dig -t TYPE name @server
dig -t A www.aolens.com @192.168.1.159
AXFR完全区域传送
我们连上网
dig -t A www.baidu.com 下边便是www.baidu.com的解析过程
dig: 查询选项
+trace
+notrace
+recurse
+norecurse
反向区域:
区域名称为逆向网络地址加.in-addr.arpa做后缀
在主配置文件:/etc/named.conf, /etc/named.rfc1912.zones
添加
zone "1.168.192.in-addr.arpa." IN { type master; file "1.168.192.zone"; };
named-checkconf检测有无语法错误
创建1.168.192.zone文件在/var/named/
内容:
$TTL 3600 @ IN SOA ns.aolens.com. admin.aolnes.com. ( 2014080401 2H 10M 7D 2D ) IN NS ns.aolens.com. 159 IN PTR ns.aolens.com. 161 IN PTR www.aolens.com
named-checkzone "1.168.192.in-addr.arpa" /var/named/1.168.192.zone检测有无语法错误。
service named reload加载
host -t PTR 192.168.1.161 192.168.1.159解析161的主机名
反解成功!!!