设为首页 收藏本站
查看: 675|回复: 0

[经验分享] Linux网络服务_主从DNS配置示例_Redhat Enterprise 5.9

[复制链接]

尚未签到

发表于 2018-5-11 10:46:03 | 显示全部楼层 |阅读模式
Linux网络服务_主从DNS配置示例_Redhat Enterprise 5.9

  

  一:DNS服务器搭建
  二:从DNS服务器搭建
  三:配置DNS服务器常见错误
  

  环境:win7下vmware、server1为主DNS服务器、server2为从DNS服务器、client1为客户机
  

一:DNS服务器搭建:

  

  搭建DNS服务器,需要安装三个软件:bind、bind-chroot、caching-nameserver
  注:
  1,bind-chroot软件包安装之后,配置文件的路径将发生改变:
  /etc/named.conf修改为/var/named/chroot/etc/named.conf
  /etc/named/修改为/var/named/chroot/etc/named/
  2,caching-nameserver软件包安装之后,在配置文件目录/var/named/chroot/etc/目录下,会有配置文件named.conf(本身不存在)的模板文件named.caching-nameserver.conf
  3,在复制named.conf模板文件文件的时候,需要加-p参数,权限不对,可能导致服务无法启动!
  

  第一步:首先,查看三个软件包是否安装
  [root@server1 ~]# rpm -q bind bind-chroot caching
  package bind is not installed
  package bind-chroot is not installed
  package caching is not installed
  第二步:挂载光盘,安装三个软件包,由于没有依赖关系,所以直接使用rpm -ivh安装
  [root@server1 ~]# rpm -ivh /misc/cd/Server/bind-9.3.6-20.P1.el5_8.5.x86_64.rpm
  /misc/cd/Server/bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm /misc/cd/Server/caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm
  warning:/misc/cd/Server/bind-9.3.6-20.P1.el5_8.5.x86_64.rpm: Header V3 DSA signature:NOKEY, key ID 37017186
  Preparing...                                                      ########################################### [100%]
    1:bind                                                         ########################################### [ 33%]
    2:bind-chroot                                                  ########################################### [ 67%]
    3:caching-nameserver                                           ########################################### [100%]
  注:上面的warning信息是由于没有安装系统公钥文件造成的,可以使用:
  [root@client1 ~]# find / -name *RPM*rele* //查询公钥位置
  /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  /misc/cd/RPM-GPG-KEY-redhat-release
  /media/RPM-GPG-KEY-redhat-release
  [root@client1 ~]#
  [root@client1 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //安装系统公钥
  

  第三步:修改主配置文件named.conf并验证其完整性
  安装完bind-chroot软件之后,named服务的配置文件就指定放在/var/named/chroot/这个目录下;
  主配置文件位置在:/var/named/chroot/etc/目录下的:
  named.confnamed.rfc1912.zones
  [root@server1 etc]# pwd
  /var/named/chroot/etc
  [root@server1 etc]# cp -p named.caching-nameserver.conf named.conf
  [root@server1 etc]# ll named.caching-nameserver.conf named.conf
  -rw-r----- 1 root named 1230 2012-10-10named.caching-nameserver.conf
  -rw-r----- 1 root named  605 03-03 11:06 named.conf
  [root@server1 etc]# vim named.conf
  [root@server1 etc]# cat named.conf
  options {
         listen-on port 53 { 192.168.1.1;};        //监听该ip地址的53端口
         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     { any; };         //允许对那些主机进行解析,any为所有
         allow-query-cache { any; };       //和上一句是一样的,指定为any或者网段或ip地址
  };
  logging {
         channel default_debug {
                  file"data/named.run";
                  severity dynamic;
         };
  };
  view localhost_resolver {
         match-clients      { any; };
         match-destinations { any; };
         recursion yes;
         include "/etc/named.rfc1912.zones";    //指定配置文件包换有named.rfc...
  };
  [root@server1 etc]# tail named.rfc1912.zones  //下面的内容为添加的字段,指定正反文件位置
  

  zone"tarena.com" IN {
          type master;
          file "tarena.com.zone";      //指定正向解析文件为tarena.com.zone
  };
  

  zone"1.168.192.in-addr.arpa" IN {
          type master;
          file "tarena.com.zero";      //指定反向解析文件为tarena.com.zero
  };
  [root@server1 etc]# named-checkconf named.conf     //如果有错误会提示,没错误不提示
  

  第四步:修改区域文件并验证其完整性
  [root@server1 etc]# cd../var/named/      //切换到/var/named/chroot/var/named目录
  [root@server1 named]# pwd
  /var/named/chroot/var/named
  [root@server1 named]# cp -p named.local tarena.com.zone      //以named.local为模板创建文件
  [root@server1 named]# vimtarena.com.zone
  [root@server1 named]# cattarena.com.zone
  $TTL   86400
  @      IN      SOA     tarena.com.  root.tarena.com.  (
                                       1997022700 ; Serial        //时间和版本号,十位数
                                       28800      ; Refresh
                                       14400      ; Retry
                                       3600000    ; Expire
                                        86400)    ; Minimum
  IN      NS     dns1.tarena.com.
  dns1   IN      A       192.168.1.1
  www    IN      A       192.168.1.80
  www    IN      A       192.168.1.90
  www    IN      A       192.168.1.100     //一个域名对应多个ip实现负载均衡
  mail   IN      A       192.168.1.81
  bbs    IN      A       192.168.1.82
  blog   IN      CNAME   bbs      //定义bbs.tarena.com的别名
  *      IN      A       192.168.1.80      //定义泛查询地址为192.168.1.80
  [root@server1 named]# cp-p tarena.com.zone tarena.com.zero
  [root@server1 named]# vim tarena.com.zero
  [root@server1 named]# cat tarena.com.zero
  $TTL   86400
  @      IN      SOA     tarena.com.   root.tarena.com.  (
                                        1997022700; Serial        //
                                       28800      ; Refresh
                                       14400      ; Retry
                                       3600000    ; Expire
                                        86400)    ; Minimum
         IN      NS      dns1.tarena.com.
  1      IN      PTR     dns.tarena.com.
  80     IN      PTR     www.tarena.com.
  81     IN      PTR     mail.tarena.com.
  82     IN      PTR     bbs.tarena.com.
  82     IN      PTR     blog.tarena.com.
  [root@server1 named]# ll tarena.com.z*         //需要保证权限正确,否则无法启动named服务
  -rw-r----- 1 root named 533 03-03 14:45 tarena.com.zero
  -rw-r----- 1 root named 523 03-03 14:43 tarena.com.zone
  [root@server1 etc]# named-checkzone tarena.com.zero//检查正向文件语法完整性,正向解析检测相同
  zone tarena.com/IN: loaded serial 42
  OK                                            //如果没有错误,就证明没有毛病
  [root@server1 etc]#
  [root@server1 named]# service named restart    //重新启动服务
  停止 named:                                              [确定]
  启动 named:                                              [确定]
  [root@server1 named]#
  

  注:
  正向解析文件中的@符号表示:tarena.com
  反向解析文件中的@符号表示:1.168.192
  

  

  第五步:客户端测试
  1,首先为客户端配置DNS地址:
  修改/etc/resolv.conf,指定dns地址为dns服务器server1的ip地址。
  [root@server2 ~]# cat /etc/resolv.conf
  nameserver 192.168.1.1
  [root@server2 ~]#
  2,使用host或nslookup来查看是否能成功解析
  [root@server2 ~]# host dns1.tarena.com
  dns1.tarena.com has address 192.168.1.1
  [root@server2 ~]# nslookup bbs.tarena.com
  Server:         192.168.1.1
  Address:        192.168.1.1#53
  

  Name:  bbs.tarena.com
  Address: 192.168.1.82
  

  [root@server2 ~]# host 192.168.1.81
  81.1.168.192.in-addr.arpa domain namepointer mail.tarena.com.
  [root@server2 ~]#
  注:如果不修改/etc/resolv.conf文件,则在使用host或nslookup的时候,需要指定dns地址:
  如:
  [root@client1 ~]# host www.tarena.com 192.168.1.1
  Using domain server:
  Name: 192.168.1.1
  Address: 192.168.1.1#53
  Aliases:
  

  www.tarena.com has address 192.168.1.80
  [root@client1 ~]#
  

  

二:从DNS服务器配置:

  

  第一步:查看是否安装bind、bind-chroot、caching-nameserver软件包,如果没有安装,则使用rpm安装相应软件包。
  

  

  第二步:修改dns的主配置文件/var/named/chroot/etc/named.conf
  1,修改option的字段listen-onport 53 { 127.0.0.1; };
  2,修改option的字段allow-query { localhost; };
  3,修改option的字段allow-query-cache{ localhost; };
  4,修改view的字段match-clients{ localhost; };
  5,修改view的字段match-destinations{ localhost; };
  修改后的内容如下:
  [root@server2 etc]# grep -vE "^#|^$|^\/\/" named.conf
  options {
         listen-on port 53 { 192.168.1.254; };
         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     { any; };
         allow-query-cache { any; };
  };
  logging {
         channel default_debug {
                  file"data/named.run";
                  severity dynamic;
         };
  };
  view localhost_resolver {
         match-clients      { any; };
         match-destinations { any; };
         recursion yes;
         include "/etc/named.rfc1912.zones";
  };
  [root@server2 etc]#
  

  第三步:修改dns的主配置文件/var/named/chroot/etc/named.rfc1912.zones
  注:
  1,type类型指定为从----slave
  2,文件位置放在slaves/下,这个位置为相对路径
  3,添加masters字段,指定主DNS服务器的地址
  在文件的末尾添加以下内容:
  [root@server2 etc]# tail named.rfc1912.zones
  zone "tarena.com" IN {
         type slave;
         file "slaves/tarena.com.zone";         //这里只指定位置,不创建文件
         masters { 192.168.1.1; };
  };
  zone "1.168.192.in-addr.arpa" IN{
         type slave;
         file "slaves/tarena.com.zero";
         masters { 192.168.1.1; };
  };
  [root@server2 etc]# service named restart
  [root@server2 etc]#
  

  

  第四步:验证
  1,在主服务器上重新加载named服务:
  [root@server1 ~]# service named reload
  重新载入 named:                                           [确定]
  2,在从服务器上重启named服务:
  [root@server2 etc]# service named restart
  停止 named:.                                              [确定]
  启动 named:                                              [确定]
  [root@server2 etc]#
  3,在从dns服务器上,进入/var/named/chroot/var/named/slaves目录,查看是否同步正向和反向解析文件,如果成功同步,则说明从dns服务器配置成功。
  [root@server2 slaves]# ls
  tarena.com.zero  tarena.com.zone
  [root@server2 slaves]#
  

  注:如果无法同步,需要注意主DNS服务器上的时间,也就是named.conf配置文件用括号包含的那一部分配置,第一项为时间和版本号,如果主DNS中的这个值比从DNS中的时间值大的话,那么就会同步,如果相同,不同步。其中括号内还定义了更新的时间。
  

  第五步:安全
  为了安全,可以在主DNS服务器上给dns配置文件named.conf的option字段添加一行:
  allow-transfer { 192.168.1.254;};
  设置只允许192.168.1.254能够同步该主DNS服务器上的解析文件!
  

  

三:配置DNS服务器的常见错误

  1,在配置dns服务器之前,必须为该服务器配置ip地址;
  2,在使用cp命令创建named.conf的时候需要添加-p参数以保证权限相同;
  3,同样,在创建正向和反向解析文件时,也需要添加-p参数,保证权限相同;
  4,DNS服务器上的dns配置文件named.rfc1912.zones文件添加内容为:
  添加:
  zone "tarena.com" IN {
         type master;
         file "tarena.com.zone";
  };
  

  zone "1.168.192.in-addr.arpa" IN{
         type master;
         file "tarena.com.zero";
  };
  5,从DNS服务器dns配置文件named.rfc1912.zones文件添加内容为:
  zone "tarena.com" IN {
         type slave;
         file "slaves/tarena.com.zone";
         masters { 192.168.1.1; };
  };
  

  zone "1.168.192.in-addr.arpa" IN{
         type slave;
         file "slaves/tarena.com.zero";
         masters { 192.168.1.1; };
  };
  6,使用named-checkconf来检查配置文件named.conf的语法完整性
  7,使用named-checkzone来检查正反向区域解析文件的语法完整性
  8,named.conf和named.rfc1912.zones其实是一个文件,named服务在检测配置文件的时候,检测的是named.conf这个配置文件,而在named.conf这个配置文件里面定义,包括named.rfc1912.zones这个文件里面的配置内容,所以两个文件其实算是一个文件,那就是named服务的配置文件named.conf
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458550-1-1.html 上篇帖子: RedHat 学习笔记【1】基础命令杂谈 下篇帖子: DHCP及中继器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表