一、DNS简介:
DNS是域名系统(Domain Name System)的缩写,是因特网上的一项核心服务,能够将域名解析为IP地址,也能把IP地址解析为域名,正向解析即把域名解析为IP,反向解析即把IP解析为域名。
二、DNS查询方法:
1.2 DNS查询方法:递归查询和迭代查询。递归查询指客户端向服务器端发送查询请求,服务器将在本服务器上查询并告诉客户端结果,若本服务器不能解析,则服务器会转发给其他指定的DNS服务器查询,并转发回来由自己传送给客户端。迭代查询指服务器自己不能解析时转发给别的服务器并由别的服务器直接传送给客户端。转发器和根提示就是依据这两种方法而实现的。
三、域名解析过程
1、如果本地的dns解析器有缓存直接返回; 2、查找本地hosts文件,根据对应的映射返回IP; 3、指定DNS服务器,DNS服务器有缓存直接返回; 4、解析域名,将请求交给根域DNS(如果没开启转发,全球13个根域DNS); 5、根域告诉DNS服务器.com的DNS地址; 6、DNS服务器查找.com解析www.baidu.com; 7、.com域DNS告诉DNS服务器baidu.com的DNS; 8、DNS服务器查找baidu.com DNS; 9、baidu.com 返回www.baidu.com的IP地址给DNS服务器; 10、DNS服务器将DNS响应报文返回给用户。
四、DNS解析记录分类
1、SOA:描述域管理NS,主从DNS服务器同步参数。 2、NS:域DNS服务器FQDN 3、A:域名到IP的映射 4、MX:域邮件服务器 5、CNAME:域名别名 6、PTR:IP到域名的映射
DNS软件介绍
1、软件名称:BIND 2、监听端口:udp53(解析)、tcp53(区域传送) 3、相关文件: /etc/named.conf:配置文件 /etc/named.rfc1912.zones:定义正解、反解区域 /var/named:存放DNS数据的默认目录 /var/named/data/named.run:DNS的日志文件
五、DNS解析的工具
1、nslookup 2、host 3、dig
六、DNS安装过程
[root@www ~]# yum insatll bind bind-chroot bind-utils -y //centos [root@www ~]# apt-get install bind9 //ubuntu 配置主配置文件: [root@www ~]# vim /etc/named.conf ......... listen-on port 53 { any; }; allow-query { any; }; [root@www ~]# service named start //启动named服务 验证服务是否正常启动 [root@www ~]# ps -aux| grep named [root@www ~]# lsof -i:53
七、DNS的正向解析配置
假设要解析一个域test.com [root@www ~]# vim /etc/named.rfc1912.zones ....... zone "test.com" IN { type master; file "test.com.zone"; }; 配置对应的A记录: [root@www ~]# cp /var/named/named.localhost /var/named/test.com.zone [root@www ~]# chown root.named /var/named/test.com.zone [root@www ~]# vim /var/named/test.com.zone $TTL 1D @ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D ) @ IN NS www.test.com. www IN A 10.50.63.185 [root@www ~]# service named restart //重启named服务 [root@www ~]# dig @localhost www.test.com //dig测试DNS是否正常解析
八、DNS的反向解析配置
编辑/etc/named.rfc1912.zones [root@www ~]# vim /etc/namd.rfc1912.zones ......... zone "63.50.10.in-addr.arpa" IN { //注意命名规则,IP:10.50.63.0/24--->60.50.10.in-addr.arpa type master; file "10.50.63.zone"; allow-update { none }; }; 编辑对应的PTR记录 $TTL 1D @ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D ) @ IN NS www.test.com. 185 IN PTR www.test.com //第一列的数字为IP的末位 [root@www ~]# service named restart //重启named服务 [root@www ~]# dig @localhost -x 10.50.63.185 //验证DNS反解是否正常
九、配置DNS实现负载均衡
将DNS中配置的一个域名对应多个IP时,DNS将会返回客户端不同的IP,这样就会达到负载均衡的效果。
$TTL 1D @ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D ) @ IN NS dns.test.com www IN A 10.50.63.185 www IN A 10.50.63.186 www IN A 10.50.63.187 [root@www ~]# service named restart [root@www ~]# dig @localhost www.test.com
十、配置纯缓存的DNS服务
纯缓存的DNS服务器就是本身并不维护zone文件,只是简单地把DNS请求转发给指定的DNS服务器,然后把结果返回给客户端同时把该结果记录在系统缓存中。等下次相同的请求,直接将该记录返回给客户端。
[root@www ~]# cat /etc/named.conf options{ .......... forward only; forwarders { 223.5.5.5; 223.6.6.6; 8.8.8.8; 8.8.4.4; }; ........... }; [root@www ~]# dig @localhost www.baidu.com //dig测试
十一、主从DNS搭建
优点:
提供冗余,避免单点故障;
均衡负载查询需求,提高系统可用性;
主服务器(10.50.63.183)配置:/etc/named.rfc1912.zones zone "test.com" IN { type master; file "test.com.zone"; allow-update { none; }; allow-transfer { 10.50.82.44; }; }; zone "63.50.10.in-addr.arpa" IN { type master; file "10.50.63.zone"; allow-update { none }; allow-transfer { 10.50.82.44; }; }; 从服务器(10.50.82.44)配置: zone "test.com" IN { type slave; file "slaves/test.com.zone"; masters { 10.50.63.185; }; }; zone "63.50.10.in-addr.arpa" IN { type slave; file "slaves/10.50.63.zone"; masters { 10.50.63.185; }; }; 主从DNS服务器重启DNS服务:service named restart 在从服务器上查看解析文件是否同步 [root@www ~]# ll /var/named/slaves/ [root@www ~]# dig @localhost -x 10.50.63.185