1、DNS: Domain Name Service
DNS工作在53端口上,查询时使用udp协议,传送时使用tcp协议,全称域名:称为FQDN(Full Qualified Domain Name)
根域:root domain
一级域:top-level domain
二级域:公司、组织、个人使用
主机:
递归:A --> B --> C --> D
迭代:A --> B、A --> C、A --> D
DNS工作模式是递归和迭代
DNS中的名称与对应的主机的主机名不要求一样
一个名称可以对应多个IP
一个IP上也可以多个名称
DNS名称解析:FQDN --> IP、IP --> FQDN
.in-addr.arpa反向解析
域:domain, 区域:zone
正向解析:FQDN --> IP
反向解析:IP --> FQDN
区域解析库:
资源记录:rr(resource record)有类型的概念:用于此记录解析的属性
SOA: Start Of Authority, 起始授权记录,一个区域文件只能有一个
NS:Name Server
MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99)
A:FQDN --> IP,专用于正向解析库
PTR: IP --> FQDN,专用于反向解析库
AAAA:FQDN --> IPv6,专用于正向解析库
CNAME: Canonical Name,正式名称
2、负责解析当前域内所有主机的DNS服务器称之为权威DNS服务器
查询过程先查找hosts-->local DNS cache-->DNS server(cache)-->根-->一级域-->主机
由DNS服务器缓存回复的查询结果称之为非权威应答。
DNS服务器类型
主DNS服务器。一个域内只有一个主DNS,如果有多台DNS服务器提供解析请求必须告知上级域,并通过轮询方式接受请求,
缓存服务器
从DNS服务器。
多台dns服务器解析库文件同步的过程称为区域传送,
完全区域传送:axfr。区域传送为tcp传送,查询时为udp传送,第一次传送时为全部传送。之后为增量传送。
增量区域传送:ixfr。
DNS服务器区域传送为周期性检查+通知机制,当主服务器在设定时间内没有应答,从将不再提供DNS解析功能。
资源记录类型,任何资源解析库文件第一条记录类型必须是SOA,用于标记主DNS服务器
Name [ttl] IN RRType value
Name:区域名称,可以简写@
ttl:响应客户端后最多缓存多少时间
IN:固定字符
RRType:资源记录类型
Value:主DNS服务器的FQDN
Mail:邮箱地址,value和mail最后的.不能省略。如www.magedu.com.
():可以表示为换行符,只要在括号中的都视为同一行记录。
Serial namber:解析库的版本号。不能超过10位,;分号为注释信息
Refresh time:周期性同步时间间隔
Retry time:重试的时间间隔,如主服务器没有应答,多久去查看一次
Expire time:过期时长,如果主服务器超过设定时间内没有响应,从服务器也不在提供服务。
negative answer ttl ;否定答案的统一缓存时长
例如:@ IN SOA ns.magedu.com. admin.magedu.com. (
serial number ;解析库的版本号,例如2014080401
refresh time ;周期性同步的时间间隔
retry time ;重试的时间间隔
expire time ;过期时长
negative answer ttl ;否定答案的统一缓存时长
)
NS:name server名称服务器
Name :区域名称
Value:DNS服务器的FQDN
例如:@ IN NS ns.magedu.com.
如果有多台ns服务器,每一个都必须有对应的NS记录
对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录
MX:mail exchanger:邮件服务器
Name :区域名称
Value:DNS服务器的FQDN
例如:
@ IN MX 10 mail.magedu.com.
@ IN MX 20 mail2.magedu.com.
如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性
对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;
A: Address 对于正向解析库A记录最为关键
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
AAAA: ipv6 IP
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.
bind linux上常见的DNS服务器,bind:(bekerley internet name domain)
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones,2个文件组成主配置文件
区域解析库文件:/var/named/zone_name.zone
安全:
服务进程以系统用户的身份运行:named, named
可以运行于chroot模型下,即工作jail环境
Dns是协议,named是进程名称,bind是工具
3、bind的基本配置详解
泛域名解析:* IN A 1.1.1.1
安装配置过程:
安装程序包
修改主配置文件:每个语句解释都必须以分号结束,否则语法错误。
options {
全局配置段;
// directory "/var/named";指定工作目录
};
zone "ZONE_NAME" IN { 可以指向DNS根
type {master|slave|hint|forward};
file "mageedu.com.zone";
};
logging {
用于指定日志文件;
}
为每一个区域提供解析库
变量的定义
资源记录
named-checkconf 用于检查主配置文件语法。
随机数生成器:
/dev/urandom:先返回熵池中的随机数,耗尽后会用软件算法生成随机数;进程不会阻塞;
/dev/random: 只返回熵池中的随机数; 随机数耗尽,进程会被阻塞;
DNS:缓存DNS服务器,不负责解析任何区域信息,缓存客户请求。
客户端测试工具host 、nslookup、dig :
host -t RRType NAME [SERVER],例如:host -t NS mageedu.com 192.168.142.8
nslookup
nslookup>
server IP:
set type={A|SOA|NS|MX}
name
dig -t TYPE name @server例如: dig -t AXFR mageedu.com @192.168.142.8
测试反解不使用-t PTR,而使用-x选项
反向区域:
区域名称为逆向网络地址加.in-addr.arpa做后缀
说明:
1、正向解析和反向解析文件中的名称可以仅使用相对名称,它们均相对当前区域而言;
2、绝对后缀可以使用$ORIGIN来定义;