DNS服务器
DNS:domain  name  system
1.作用:
      实现域名和IP间的转换,使用53号端口;
2.DNS的分类:
<1>按解析方向:
  正向解析:将域名解析成IP;
  反向解析:将IP解析成域名;
<2>按功能分:
  主DNS,辅DNS,转发DNS,缓存DNS;
3.DNS概念:
<1>根域:     .
<2>顶级域名:
 .com.:公司企业;.net.:网络组织;.org.:自由组织;
 .mil.:军事组织;.gov.:政府机构;.edu.:教育部门;
<3>DNS服务器采用分布式数据库查询,每级域名只负责直接下级域名的查找,既可以负载均衡,又能提高查询速度;
<4>查询方式:
 递归查询: 直接在本地DNS服务器中查找,如未找到则按迭代方式查找;
 迭代查询: 先直接向根域查询,再逐渐向下级查找;
4.DNS服务器包的安装
#rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-chroot-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-devel-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-libs-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-libbind-devel-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-sdb-9.3.3-7.el5.i386.rpm
#rpm -ivh bind-utils-9.3.3-7.el5.i386.rpm
可用通配符安装
#rpm -ivh bind*
5.DNS的主要文件
<1>解析服务器文件(存放DNS服务器的IP,最多可支持4个IP)
#vi  /etc/resolv.conf
<2>主配置文件
#vi  /etc/named.caching-nameserver.conf
<3>域配置文件
#vi  /etc/named.rfc1912.zones
<4>自定义的域名数据文件
6.配置DNS服务器的步骤
<1>配置本机的静态IP
#netconfig (192.168.1.111)
//把DNS指向本机IP即可;
#service network restart
//检查本机IP
#ifconfig  eth0
//检查解析服务器文件
#vi  /etc/resolv.conf
<2>修改主配置文件
#vi  /etc/named.caching-nameserver.conf
//修改第15行为: 本机IP监听;
 listen-on port 53 { 192.168.1.111; };
//禁用第16行为: 关闭IPv6的监听端口;
#listen-on-v6 port 53 { ::1; };
//禁用第22行为: 关闭IPv6的来源查询端口;
#query-source-v6 port 53;
//禁用第23行为: 关闭只允许本机查询的功能;
#allow-query    { localhost; };
//禁用第32行为:关闭仅匹配本机为客户端的功能;
#match-clients  { localhost; };
 
//<3>定义主正向解析,域名为:www.sina.com,IP:192.168.1.10
<3.1>定义域配置文件
#vi  /etc/named.rfc1912.zones
//在文件中加入以下域名的定义:
 zone "sina.com"  IN {         //定义域名:sina.com
       type  master;           //定义为主DNS
       file  "sina.zone";      //定义主正向解析的数据文件名
       allow-update { none; }; //允许哪些辅DNS来更新
 };
<3.2>定义sinz.zone数据文件的内容
#cd  /var/named/chroot/var/named
#cp  named.local  sina.zone
#vi  sina.zone
//全局查找替换为本机域名:www.sina.com
:1,$ s/localhost/www.sina.com/g
//修改最后一行为:
www    IN    A   192.168.1.10
//说明: A 表示正向解析,即域名解析到IP;
//增加别名解析:
pop3   IN  CNAME    www
//添加邮件交换记录信息:
       IN   MX  10   www.sina.com.
<3.3>修改sina.zone的数据文件为named组
#chown  .named  sina.zone

<3.4>检查sina.zone的数据语法是否有错
#named-checkzone  sina.com  sina.zone

<3.5>重启DNS服务器并载入密钥进行验证
#service  named  restart
#rndc  reload
<3.6>解析测试
#nslookup  www.sina.com

//<4>定义主反向解析,域名为:www.sina.com,IP:192.168.1.10
<4.1>定义域配置文件
#vi  /etc/named.rfc1912.zones
//在文件中加入以下域名的定义:
 zone "1.168.192.in-addr.arpa"  IN {  //定义反向域名
       type  master;            //定义为主DNS
       file  "sina.local";      //定义主反向解析的数据文件名
       allow-update { none; };  //允许哪些辅DNS来更新
 };
<4.2>定义sinz.local数据文件的内容
#cd  /var/named/chroot/var/named
#cp  named.local  sina.local
#vi  sina.local
//全局查找替换为本机域名:www.sina.com
:1,$ s/localhost/www.sina.com/g
//修改最后一行为:
10    IN    PTR   www.sina.com.
//说明: PTR 表示反向解析,即IP解析成域名;
<4.3>修改sina.local的数据文件为named组
#chown  .named  sina.local
<4.4>重启DNS服务器并载入密钥进行验证
#service  named  restart
#rndc  reload
<4.5>解析测试
#nslookup  192.168.1.10

//<5>定义辅正向解析
windows2003的IP:192.168.1.119
在windows2003中的DNS中,定义域名:www.163.net,IP:192.168.1.20
<5.1>定义域配置文件
#vi  /etc/named.rfc1912.zones
//在文件中加入以下域名的定义:
 zone "163.net"  IN {           //定义域名:163.net
       type  slave;             //定义为辅DNS
       file  "slaves/163.zone"; //定义辅正向解析的数据文件名
       masters { 192.168.1.119; }; //指定主DNS的IP
 };
<5.2>重启DNS服务器并载入密钥进行验证
#service  named  restart
#rndc  reload
<5.3>查看是否自动学到了windows2003中的163.net域的数据文件
#cd  /var/named/chroot/var/named/slaves
#ls  163.zone
<5.5>解析测试
#nslookup  www.163.net

//<6>定义辅反向解析
windows2003的IP:192.168.1.119
在windows2003中的DNS中,定义域名:www.163.net,IP:192.168.1.20
<6.1>定义域配置文件
#vi  /etc/named.rfc1912.zones
//在文件中加入以下域名的定义:
 zone "1.168.192.in-addr.arpa"  IN { //定义反向域
       type  slave;                  //定义为辅DNS
       file  "slaves/1.168.192.local";//定义辅反向的数据文件名
       masters { 192.168.1.119; };   //指定主DNS的IP
 };
//注意:
  同时注释掉原来所做的sina.local的反向域定义;
<6.2>重启DNS服务器并载入密钥进行验证
#service  named  restart
#rndc  reload
<6.3>查看是否自动学到了windows2003中的163.net域的数据文件
#cd  /var/named/chroot/var/named/slaves
#ls  1.168.192.local
<6.4>解析测试
#nslookup  192.168.1.20