您的位置:首页 > 运维架构 > Linux

linux_DNS服务器和bind搭建配置

2018-02-09 20:08 211 查看
域名是用点分割的一串字符表示的网络中计算机或计算机组的名称。
DNS服务器是一个占用53端口的应用层服务,提供域名和IP地址的相互解析。
     正向解析:域名转化为IP地址
     反向解析:IP地址转化为域名
基本工作原理:
     1.客户机提出域名解析请求,并将请求发送给本地域名服务器。
     2.本地域名服务器接到请求后,在本地缓存中查找。如果有此记录则返回给客户机。
     3.若本地缓存中不存在此记录,本地域名服务器将请求发送给根域服务器。根域服务器将一个
顶级域地址返回给本地服务器。
     4.本地服务器向顶级域服务器发出请求,顶级域查询自己本地记录,若没有记录则返回下级域
的地址。
     5.重复查询下级域,直到找到正确记录。
     6.本地服务器将正确记录保存在本地缓存,并发送给客户机。
域名自右向左依次为根域(在域名最右侧用“.”来表示,一般都会省略)顶级域(com(商业
机构)、net(网络服务机构)、org(非营利性组织)、edu(教育机构)、gov(政府机构)、mil(军事
机构))、二级域(在顶级域下的域名,它是指域名注册人或机构的网上名称。如(baidu、
google、ibm等)).....
各级域名的长度不超过63个字符,域名总长度不超过255个字符
linux中搭建DNS服务器
     程序包名:bind
     程序名:named
     程序包:
          bind:提供DNS服务
          bind-libs:提供bind库文件
          bind-utils:提供bind命令行测试工具(dig、host、nslookup、nsupdate)
          bind-chroot:将bind根文件放在/var/named/chroot
     bind:

          服务脚本:/etc/rc.d/init.d/named
          主配置文件:/etc/named.comf,/etc/named.rfc1912.zones,/etc/rndc.key
          解析库文件:/var/named/ZONE_NAME.ZONE
               注意:
                    1.一台物理服务器可同时为多个区域提供解析
                    2.必须要有根区域文件;named.ca
                    3.应该有两个(如果包括ipv6,应该更多)实现localhost和本地回环地址解析库
          rndc:默认与bind安装在同意主机,且只能通过127.0.0.1来连接named进程,
提供辅助性的管理功能。端口953/tcp
     主配置文件
          全局配置:options {}
               listen-on:监听端口以及IP地址(需要配置一个可与外部通信的IP地址)
               allow-query:允许那些主机访问(any为所有)
               recursion:是否允许递归查询;(一般为yes)
          日志子系统配置:logging {}
          区域定义:本机能够为那些zone进行解析,就要定义哪些zone
               zone "ZONE_NAME" IN {}
/etc/named.comf文件配置好后DNS服务器可作为缓存名称服务器使用

主DNS服务器
     1.在/etc/named.rfc1912.zones配置文件中定义区域
          zone "ZONE_NAME" IN {
                type {master(主)|slave(副)|hint(根)|forward(转发)}
                file "ZONE_NAME.ZONE";
          };
     2.定义区域解析库文件
           在/var/name/下创建ZONE_NAME.zone文件
           $TTL 86400(缓存生效期:秒)
           @         IN         SOA       www.123456.com.(完整域名) admin.163.com(邮箱不能使用@)(
                                                  2018021001   (序列号,每次修改此文件都应手动修改序列号)
                                                  1H    (刷新时间)
                                                  10M   (重试时间)
                                                  7D     (过期时间)
                                                  1D      (否定回答最小时间))
                        IN           NS       ns1
                        IN           NS       ns2
                        IN           MX 10 mX1
          ns1        IN            A         123.123.10.23
          ......
资源记录类型:
A:实现主机名到IP地址的解析
AAAA:主机名到IPv6地址解析
PTR:IP地址到主机名解析
SOA:定于域是由谁负责
NS:DNS服务器记录
CNAME:别名记录
MX:邮件交换器
区域定义:
     区域名称: 网络地址反写.in-addr.arpa.
          173.18.100  --> 100.18.173.in-addr.arpa.

1.在/etc/named.rfc1912.zones配置文件中定义区域
          zone "ZONE_NAME" IN {
                type {master(主)|slave(副)|forward(转发)}
                file "网络地址.zone";
          };

 2.定义区域解析库文件(不需要MX和A记录;以PTR记录为主)
           在/var/name/下创建"网络地址.zone"文件
           $TTL 86400(缓存生效期:秒)
           $ORIGIN 100.18.173.in-addr.arps.(网络地址自动补全)
           @         IN         SOA       ns1.abcd.com.      admin.163.com(
                                                  2018021001  
                                                  1H    
                                                  10M   
                                                  7D     
                                                  1D      
                       IN          NS            ns1.abcd.com.
          11         IN          PTR           ns1.abcd.com
          11         IN          PTR           www.abcd.com
          ......
主从复制
从服务器应该是一台独立的服务器,主服务器中区域解析必须有一条NS记录指向从服务器,
主服务器应允许从服务器做区域传送
1.配置/etc/named.conf,使服务器可作为缓存名称服务器
2.配置/etc/named.rfc1912.zones,是服务器
     添加正向解析域
          zone "ZONE_NAME" IN {
                        type slave;
                        masters [ 主DNS服务器IP地址 ];
                        file "slaves/ZONE_NAME.zone";    (slaves目录专用于从DNS服务器放置zone文件)
          };
     添加反向解析域
          zone "网络地址.zone" IN {
                        type slave;
                        masters [ 主DNS服务器 ];
                        file "slave/网络地址.zone";
          };
名称服务器命令

named-checkconf:检测主配置文件是否有语法错误
named-checkzone "ZONE_NAME" /var/name/ZONE_NAME.zone :检测zone文件是否有语法错误
rndc reload:重读解析库
dig命令使用
dig [-t type] name [@sername]
     查询选项
          +[no]trace:跟踪解析过程
          +[no]recurse:进行递归解析
dig -x IP @SERVER:测试反向解析
host命令
host [-t type] name [SERNAME]
nslookup命令
nslookup [-optin] name [server]
     交互式模式
          server IP:指定DNS服务器IP
          set q=TYPE:致命资源记录类型
          NAME:要查询的名称
rndc命令:
     rndc是一个可远程操作名称服务器的命令,由服务端和客户端组成。
服务端应在名称服务器上访问端口为953,tcp协议。
     -s:指明名称服务器
     -p:指明端口
     但为安全起见客户端一般同服务端在同一台机器上可不加选项
     子命令:
          reload:重载主配置文件和区域解析库文件
          reload zone:重载区域解析库文件
          retransfer zone:手动启动区域传送过程,而不管序列号是否增加
          notify zone:重新对区域传送发通知
          reconfig:重载主配置文件
          querylog:开启或关闭查询日志
          trace:递增debug级别
          trace #:指定使用级别
          status:查看服务器信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: