DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记IP数串。
DNS解析分正向解析和反向解析
DNS的解析过程,有迭代查询和递归查询
迭代查询就是当该DNS服务器不能解析到客户端发送过来的请求时候,就把该请求递交给根服务器,有根做解析,递交给顶级域服务器,然后一层一层查询,直到找到最后的主机查询。
递归查询就是客户端想本地DNS服务器提交查询请求,然后该DNS服务器,一次性给出答案。
DNS的安装
# yum install bind
1、修改配置文件
# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; //注释掉
// listen-on-v6 port 53 { ::1; }; //注释掉
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; //注释掉
ss -tuan 查看53端口的状态
netstat 查看53端口的状态
2、在/etc/named.rfc1912.zones下添加最后面的magede.com区域文件
# tail /etc/named.rfc1912.zones
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
zone "magedu.com" IN { //创建的配置文件
type master;
file "magedu.com.zone";
};
3、在/var/named/下创建magedu.com.zone文件
# cat magedu.com.zone
$TTL 600
@ IN SOA dns.magedu.com. admin.magedu.com. (
2014061401
2H
10M
7D
6H )
IN NS dns
IN MX 10 mail
dns IN A 192.168.1.11
mail IN A 192.168.1.25
www IN A 192.168.1.21
www IN A 192.168.1.22
pop IN A 192.168.1.22
ftp IN CNAME www
4、修改一下编辑后的文件属性
[root@www named]# chmod 640 magedu.com.zone
[root@www named]# chown :named magedu.com.zone
5、检查一下配置文件和区域文件是否有错误
named-chkconf: 检查配置文件
named-checkzone "zone_name" /path/to/named_file 检查区域配置文件
例如:
# named-checkzone "magedu.com" /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 2014061401
OK
6、 重新载入配置文件
service named reload
7、验证一下
# dig -t A www.magedu.com @192.168.1.11
# dig -t NS magedu.com @192.168.1.11
# dig -t MX magedu.com @192.168.1.11
# dig -t CNAME ftp.magedu.com @192.168.1.11
# dig -t SOA magedu.com @192.168.1.11
# dig -t axfr magedu.com @192.168.1.11
二、反向区域的区域名称:网络地址反过来.in-addr.arpa.
1、建立一个区域
# tail -5 /etc/named.rfc1912.zones
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
};
2、检查错误
# named-checkconf /etc/named.conf
3、创建反向解析库
# cat 192.168.1.zone
$TTL 600
@ IN SOA dns.magedu.com. admin.magedu.com. (
2014061401
2H
10M
7D
6H )
IN NS dns.magedu.com.
11 IN PTR dns.magedu.com.
25 IN PTR mail.magedu.com.
21 IN PTR www.magedu.com.
22 IN PTR www.magedu.com.
22 IN PTR pop.magedu.com.
4、检测
# named-checkzone "1.168.192.in-addr.arpa" /var/named/192.168.1.zone zone 1.168.192.in-addr.arpa/IN: loaded serial 2014061401
OK
5、重新载入配置文件和服务
rndc reload
rndc reconfig重新载入配置文件
6、测试
# dig -x 192.168.1.11
# dig -t NS 1.168.192.in-addr.arpa 检查这个dns服务器是哪个
# dig -t axfr 1.168.192.in-addr.arpa 载入所有反向解析
三、创建从DNS服务器
如果有多台从DNS服务器,必须为每一台DNS服务器建立NS记录,否则主DNS将不向其发送更新通知。
1、在从DNS服务器上安装并修改bind服务和配置文件
# cat /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; };
2、添加从DNS配置区域文件
# tail /etc/named.rfc1912.zones
file "named.empty";
allow-update { none; };
};
zone "magedu.com" IN {
type slave;
file "slaves/magedu.com.zone";
masters {
192.168.1.11;
};
};
3、然后在主DNS上修改文件,在这个文件上添加如下两行,可以解析到从DNS服务器
vim /var/named/magedu.com.zone
IN NS ns2
ns2 IN A 192.168.1.12
然后重新装载
# rndc reload
4、启动从DNS服务器服务
测试
# dig -t NS magedu.com
可以看到ns2的解析
从DNS服务器看,已经同步完毕文件
[root@localhost slaves]# ls
magedu.com.zone
5、在Windows里测试,当DNS指向从DNS服务器192.168.1.17时,依然可以解析到www.magedu.com