标签:反向解析 监听 联网 全局参数 available 0.11 c++ 过期 webmail
DNS是域名服务(Domain Name Service),负责把域名解析成IP地址(正向解析)或者把IP地址解析为域名(反向解析)。
DNS查询过程:
假设我们要访问www.abc.com,dns解析请求会发送给我们配置dns服务器,如果当前已有缓存则直接把结果返回给我们的终端,如果没有则向dns的根查询负责解析.com的服务器的IP,找到负责.com域的服务器后再向其查询负责abc.com这个域的服务器的IP,得到结果后再向其查询www.abc.com的IP地址,查询到结果后再返回给我们。
在这个过程中,我们只需要向我们指向的dns发起一次dns请求,他就会把最终的结果返回给我们,这个过程称为递归查询,而当其缓存中没有我们要查询的记录时,他需要一级一级的分别向根,.com, abc.com查询,每一次的查询请求都是他自己发起的,这个过程称为迭代查询。
由于abc.com这个域的解析不是由我们指向的dns服务器负责的,所以他返回给我们的答案为非权威应答,而他通过迭代从负责abc.com的dns服务器查询到的结果则为权威应答。
在互联网上总共有13个根服务器,在linux系统上可以dig -t NS .查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@bob ~]# dig -t NS . | awk ‘$4=="A" {print $0}‘ d.root-servers.net. 5 IN A 199.7.91.13 b.root-servers.net. 5 IN A 192.228.79.201 a.root-servers.net. 5 IN A 198.41.0.4 c.root-servers.net. 5 IN A 192.33.4.12 j.root-servers.net. 5 IN A 192.58.128.30 f.root-servers.net. 5 IN A 192.5.5.241 k.root-servers.net. 5 IN A 193.0.14.129 l.root-servers.net. 5 IN A 199.7.83.42 e.root-servers.net. 5 IN A 192.203.230.10 g.root-servers.net. 5 IN A 192.112.36.4 i.root-servers.net. 5 IN A 192.36.148.17 m.root-servers.net. 5 IN A 202.12.27.33 h.root-servers.net. 5 IN A 128.63.2.53 |
DNS资源记录类型:
FQDN --> IP A IPv4 FQDN(Fully Qualified Domain Name)
FQDN --> IP AAAA IPv6
Domain --> DNS Server NS
Domain --> Master DNS SOA(Start Of Authority)起始授权记录:准确说明谁是主dns服务器,主辅之间如何同步
FQDN --> FQDN CNAME(Canonical Name) 别名记录
Domain --> Mail Server MX (Mail eXchanger) 邮件服务器,有优先级,0-99,数字越小,优先级越高
IP --> FQDN PTR(Pointer) 反向解析记录
注:正向解析和反向解析使用不同的名称解析库,每一个名称解析库叫做一个zone(区域)
正向解析的根是 .(一个点)
反向解析的根是 .in-addr.arpa.
DNS安装配置:
作为DNS缓存服务器
全球使用最广泛的dns服务器软件bind,由www.isc.org维护,同时dhcp软件也由他维护,可以去官网下载软件源码和文档
安装过程很简单 yum install -y bind
主配置文件/etc/named.conf,默认配置是监听在127.0.0.1上的且只允许本机查询,只需要更改为主机的对外地址或者直接注释(监听在所有网络接口、允许所有主机查询),启动服务就可作为一台DNS缓存服务器了。
bind9是C语言写的,配置文件也是C语言风格,// 是注释符,每个语句结束要加;分号,bind10据说用C++和Python写的,options段定义的是全局参数
1
2
3
|
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; // allow-query { localhost; }; |
rpm包给我们提供了启动脚本named, service named start即可
配置正向解析
在named.conf中
1
2
|
directory "/var/named" ; include "/etc/named.rfc1912.zones" ; |
编辑named.rfc1912.zones添加以下内容以增加对域bob.org的管理
1
2
3
4
5
|
zone "bob.org" IN { type master; // 类型为主服务器 file "bob.org.zone" ; // 指定资源解析库存放位置,这个路径是相对 // named.conf中定义的directory的,即实际位置为/var/named/bob.org.zone }; |
创建文件/var/named/bob.org.zone添加以一内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
$TTL 43200; // 这里可以定义全局变量,如果没有定义TTL则继承这里的43200单位秒 // 第一条记录必须为SOA记录 bob.org. /*区域名称,可以写成@直接引用当前区域名称*/ 86400 /*TTL,可不定义,会直接继承全局的*/ IN /*Internet,固定格式*/ SOA /*记录类型*/ ns.bob.org. /*主服务器的FQDN*/ admin.bob.org /*管理员邮箱,因为@有特殊意义用点代替*/ $TTL 43200; @ 86400 IN SOA ns.bob.org. admin.bob.org ( 201410070001; //serial number序列号 1h; // refresh time 主辅之间刷新时间 5m; // retry time 拉取信息不成功的重试时间 7d; // expire time 过期时间,过期后辅服务器也将放弃解析 1d; ) // 否定答案的TTL @ /*引用当前域名,可省略*/ IN NS ns.bob.org. IN MX 10 mail1.bob.org. IN MX 20 mail2 /*相当于mail2.bob.org.*/ ns IN A 172.16.100.10 www IN A 172.16.100.11 webmail IN CNAME mail2 mail1.bob.org. IN A 172.16.100.12 mail2.bob.org. IN A 172.16.100.13 |
1
2
3
4
5
6
|
[root@localhost named]# named-checkconf // 检查配置文件 [root@localhost named]# chown :named /var/named/bob.org.zone [root@localhost named]# named-checkzone "bob.org" "/var/named/bob.org.zone" // 检查区域文件是否正确 zone bob.org/IN: loaded serial 3841574385 OK |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@localhost named]# dig -t NS bob.org @172.16.100.10 // 测试是否可解析 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> -t NS bob.org @172.16.100.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34365 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 // 标志aa(authority answer)权威答案 ;; QUESTION SECTION: ;bob.org. IN NS ;; ANSWER SECTION: bob.org. 43200 IN NS ns.bob.org. ;; ADDITIONAL SECTION: ns.bob.org. 43200 IN A 172.16.100.10 ;; Query time : 0 msec ;; SERVER: 172.16.100.10#53(172.16.100.10) ;; WHEN: Wed Aug 27 14:13:38 2014 ;; MSG SIZE rcvd: 58 |
3. 配置反向解析
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$TTL 43200; @ 86400 IN SOA ns.bob.org. admin.bob.org. ( 201410070001; 1h; 5m; 7d; 1d;) IN NS ns.bob.org. // NS记录是必须的 IN MX 10 mail1.bob.org. IN MX 20 mail2.bob.org. 10 IN PTR ns.bob.org. 10 IN PTR www.bob.org. 11 IN PTR mail1.bob.org. 12 IN PTR mail2.bob.org. 12 IN PTR webmail.bob.org. |
1
2
3
4
|
zone "100.16.172.in-addr.arpa" IN { type master; file "172.16.100.zone" ; }; |
在区域配置文件/etc/named.rfc1912.zones新建一个区域
创建反向资源解析库文件/var/named/172.16.100.zone
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// 测试反向解析 [root@localhost named]# dig -x 172.16.100.10 @172.16.100.10 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> -x 172.16.100.10 @172.16.100.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11785 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;10.100.16.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 10.100.16.172.in-addr.arpa. 43200 IN PTR www.bob.org. 10.100.16.172.in-addr.arpa. 43200 IN PTR ns.bob.org. ;; AUTHORITY SECTION: 100.16.172.in-addr.arpa. 43200 IN NS ns.bob.org. ;; ADDITIONAL SECTION: ns.bob.org. 43200 IN A 172.16.100.10 ;; Query time : 0 msec ;; SERVER: 172.16.100.10#53(172.16.100.10) ;; WHEN: Wed Aug 27 19:35:57 2014 ;; MSG SIZE rcvd: 116 [root@localhost named]# host -t PTR 172.16.100.10 10.100.16.172.in-addr.arpa domain name pointer ns.bob.org. 10.100.16.172.in-addr.arpa domain name pointer |
标签:反向解析 监听 联网 全局参数 available 0.11 c++ 过期 webmail
原文地址:http://www.cnblogs.com/JDEdwards/p/6991213.html