linux_DNS服务器和bind搭建配置

域名是用点分割的一串字符表示的网络中计算机或计算机组的名称。

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:查看服务器信息

你可能感兴趣的:(linux运维)