DNS的基本配置、子域授权与bind编译(第十八九天)

    DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

    DNS利用类似于树形目录的结构,将主机名的管理分配在不同层级的DNS服务器中,并进行分层管理。

    DNS使用TCP与UDP的53端口。

    DNS的相关概念有:

        FQDN(full qualified domain name):中文为完整主机名。由主机名与域名组成。

以www.baidu.com为例,www是主机名,baidu.com是域名

        TLD顶级域名或一级域名:常见的顶级域名有.com\.net\.org\.edu等,树形结构图如下:

blob.png

全球共有十三台根域名服务器,存储在/var/named/namad.ca这个文件中:
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	i.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	m.root-servers.net.

    DNS服务器的分类:有主服务、从服务、缓存服务器与转发服务器

         缓存服务器:只有缓存的功能,本身没有任何域名区域的配置,缓存的结果完全由用户请求解析—-》根域名返回的结果。

         转发服务器:把用户的请求转发给上一层的解析服务器,起到中转的功能。分有全局转发与局部转发

              linux系统上,dns的主配置文件是/etc/named.conf,域名区域的配置是/etc/named.rif1912.zones

    DNS有正解与反解的概念:

        正解:把FQDN——(解析)—》IP    

        反解:把IP—–(解析)—》FQDN

  区域解析库:由众多RR组成      

     DNS的资源记录:Recsource Record ,简称为RR,资源记录的类型有A、CHAME、PTR、SOA、NS、MX。

SOA:start of authority 起始授权记录:一个资源解析库有且只能有一个SOA记录,且必须 为解析库的第一条。
A:internet address,作用:FQDN--->IP
AAAA:PQDN--->IPV6
RTP:PoinTeR(指针),作用IP---->FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CHAME:Canonical name 别名记录
MX:Mail eXchanger 邮件交换器
SOA:
  name:当前区域的名称,例如“163.com”
  value:有多部分组成
     (1)当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
     (2)记录当前区域管理员的邮箱地址,但地址不能使用@符号,一般用.(点号)替换,例如linuxedu.magedu.com
      (3) (主从服务器协调属性的定义以及否定答案的统一TTL)默认单位是S(秒),其中有H(小时)、D(天)、M(月)、W(周)
NS:
  name:当前区域的名字
  value:当前区域的某DNS服务器的名字,例如ns.magedu.com; 一个区域可以多个NS记录 
例如:magedu.com. (TTL可省略)  IN NS ns1.magedut.com.  或   magedu.com. (TTL可省略)  IN NS ns2.magedut.com.
注意:
  (1)相邻的两个资源记录的name相同时,后续的可省略
  (2)对NS记录而言,任何一个NS记录后面服务器名字,都应该在后续有一个A记录
MX记录:
  name:当前区域的名字
  value:当前区域的某邮箱服务器(smtp服务器)的主机名;value之前应该有一个数字(0-99),表示此服务器的优先级,数字越小优先级越高。一个区域内,可有多个MX记录
例如:magedu.com    IN  MX 10 mx1.magedu.com.   或    magedu.com    IN   MX 20 mx2.magedu.com.

注意:对MX记录而言,任何一个NS记录后面服务器名字,都应该在后续有一个A记录
A记录
  name:某主机的FQDN,例如www.magedu.com
  vulue:主机对应的主机IP地址
例如:www.magedu.com.    IN   A 1.1.1.1    或  www.magedu.com.     IN  A  1.1.1.2
PTR:
  name: ip,有特定格式,把IP地址反过来写,1.2.3.4 要写成 4.3.2.1; 而有特定后缀:in-addr.arpa. 所以完整写法为4.3.2.1.in-addr.arpa.
  value:FQDN
例如:4.3.2.1.in-addr-arpa.   IN  RTP   www.magedu.com 可以简写为  4     IN RTP www.magedu.com

注意:网络地址及后缀可省略,主机地址需要反着写
CHAME
  name:别名的FQDN
  value:正式名字的FQDN
例如:web.magedu.com.   IN   CHAME www.magedu.com

   
DNS的基本配置

使用bind这个程序,安装完成后,区域文件存储在/var/named/目录下

    1、配置为缓存服务器,修改/etc/named.conf这个文件

blob.png

blob.png

     完成上面的配置后,service named start启动服务,并查看53端口是否已经被监听,若在监听,则启动缓存成功,把电脑的DNS指向此服务,便可正常正解析

blob.png

blob.png

  

  2、配置DNS正解。测试使用域名为teset123.com,ns1(192.168.1.11),ns2(192.168.1.9)。正解中不需要配置RTP

    在/etc/named.rfc1912.zones配置文件上配置区域

blob.png

    在/var/named/目录下创建test123.com.zone文件,并配置。完成配置后,需要把文件的权限改为640、属组为named

blob.png

    检测zone配置文件及主配置文件是否正确,若正确,重新载入配置文件rndc reload

blob.png

    使用dig -t A test123.com @192.168.1.11测试是否能解析,以下解析成功。

blob.png

blob.png

3、DNS反解配置

    配置/etc/named.rfc1912.zone

    说明:测试的www.test123.com解析的IP是192.168.1.254 。反解时是通过IP地址解析出对应的域名。在配置进反解的区域名称是反写IP地址.in-addr.arpa,本例中192.168.1.254是24位掩码,192.168.1.是固定不变的,因此写成1.168.192.in-addr-arpa

blob.png

    在/var/named/目录下创建 1.168.192.in-addr.arpa.zone文件,并配置。反解时主要配置RTP便可

blob.png

    使用named.checkzone、named.checkconf、rndc reload命令检测及重载配置文件后,测试

blob.png

4、从服务器配置

    在上面的配置,ns2 的IP地址是192.168.1.9,把此服务器配置为从服务器。注意:从服务器一定要在主服务器上通过ns 体现出来,否则更新配置时,主服务无法主动通知从服务器。

   从服务器不需要区域文件,只要在named.rfc1912.zone文件中配置区域,指定为slave ,并指定masters的IP地址便可。同步成功后,自动会在/var/named/slaves/目录下创建区域的文件

   以下为正解从服务器配置

blob.png

        通过查看日志文件 /var/log/messages,是否同步成功,以下已成功同步

blob.png

        反解从服务器的配置,思路与正解一样,只需要配置/etc/named.rfc1912.zone便可

blob.png

    查看日志  

blob.png
    查看从服务器同步过来的区域配置文件

blob.png


子域授权

    子授权的配置要点:

在没有认证的时间下,父域与子域要关闭dnssec
dnssec-enable no;
dnssec-validation no;

在父域的zone配置文件中,指定子域的ns A记录 
为了子域以最理想的路径解析父域,需要配置全局转发或局部转发功能,并指上一层为父域的NS ip地址

    本次实验中,父域是test123.com,NS是192.168.1.11,www主机192.168.1.254;子域是test.test123.com,NS是192.168.1.9,www主机是192.168.1.253。

    父域的配置

        主配置文件的配置:通过forward启用全局转发,转发给上层192.168.1.1。如果,此父域能够访问根域服务器,此可配可不配。

blob.png

    zone配置文件中添加授权子域

blob.png

    子域的配置:

       关于转发的配置,如果子域想依赖父域解析,可以做全局转发配置,并转发给父域。若只是把父域的域名转发给父域,而其他的仍由根域解析,则可配置局部转发。

blob.png

blob.png

blob.png    

blob.png

    测试

        父域测试子域

blob.png

    子域测试父域

blob.png


bind编译安装

    本次安装版本的是 bind-9.6.1.tar.gz

1、解压后,指明安装路径、配置文件路径及其他参数并进行编译安装

 ./configure  --prefix=/usr/local/bind9 --sysyconfdir=/etc/named --disable-ipv6 --disablie-chroot --enable-threads  
   \\安装路径是/usr/lcoal/bind9,配置文件是/etc/named,关闭ipv6与根切换,开启多线程功能
make 
make install

2、编辑环境变量、库文件、头文件及帮助文档。

编辑变量,在/etc/profile.d目录下创建named.sh脚本,输入以下内容,并执行一个。
     export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH
     完成后:
[root@localhost profile.d]# 
echo $PATH/usr/local/bind9/bin:/usr/local/bind9/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

编辑库文件
在/etc/ld.so.conf.d目录创建named.conf,并在文件中输入/usr/local/bind9/lib
然后ldconfig ,重新生成动态库文件
 
生成链接include文件
ln -sv /usr/local/bind9/include/ /usr/include/named
 
编辑/etc/man.conf

blob.png

2、创建并配置/etc/named/named.conf的主配置文件、以及/var/named目录下多个文件

        在/etc/named/目录下创建 named.conf并完成如下配置

blob.png

     使用dig -t ns . @192.168.1.1 >> /var/named/named.ca自动生成根域名的文件,192.168.1.1是我网络里的路由器,.(点号)代表根,自动把结果保存到named.ca文件中。

blob.png

    在/var/named目录下创建named.loopback  named.localhost与named.com.zone文件,并完成如下配置

blob.png

blob.png

    3、递归修改/usr/local/named/var目录的属组为named,并给named写与执行的权限。若不修改此项,在使用named -u named -f -g -d 3是会有如下提示

blob.png

    4、使用named -u named 运行后,查看及测试是否成功

blob.png

        已运行成功!

    5、使用 rndc-confgen,生成rndc的配置文件,完成后便可使用rndc命令管理bind了

blob.png

blob.png

    便可正常使用rndc命令了

blob.png

原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/18137

(2)
Net20-deamonNet20-deamon
上一篇 2016-06-11
下一篇 2016-06-12

相关推荐

  • Linux 用户、用户组及权限管理

    一、Linux用户及用户组的基本概念 用户:用户是实现能够将有限的资源在多个使用者之间进行分配;、 用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权 Linux是多用户、多任务的操作系统。     多用户指:多人同时使用系统资源;多任务:同时运行多个进程 二、用户及用户组类别 1、用户:名称解析库 /…

    Linux干货 2016-03-20
  • php 配置

      php php不能单独使用都是与httpd结合使用 结合的方式主要是两种一种为模块方式服务于httpd,一种为单独服务方式服务httpd 两种方式不能共存 安装软件包也不相同 网上有官方中文手册 http://php.net/download-docs.php php对中文的支持需要安装php-mbstring php对mysql的支持需要安装…

    Linux干货 2016-11-01
  • shell中测试命令

    shell中测试命令        test命令提供了if–than语句中测试不同条件的途径。如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 。这样if–than语句就与其他编程语言中的if–than语句类似的方式工作了。如果条件不成立,…

    Linux干货 2017-04-16
  • 马哥教育网络第20期—IO类型与IO模型

    IO类型与IO模型 IO类型 同步与异步(synchronous,asynchronous):关注消息通知机制 同步:进程发出系统调用之后,不会立即有返回信息,但是一旦有返回信息,则一定是最终结果. 异步:进程发出系统调用之后,会有立即返回结果,但不是最终的结果,当内核处理完成之后,内核通过通知机制通知进程,该系统调用已完成. 阻塞与非阻塞(blocking…

    Linux干货 2016-06-26
  • 第十六周

    1、源码编译安装LNMP架构环境;  安装必要的包组和依赖的包 yum groupinstall “Development Tools” “Development Libraries”  yum install wget openssl-devel ncurses-devel cmake p…

    Linux干货 2017-08-15
  • Linux基础知识(四)

    本文主要讲述:Linux上用户和组的基本管理,具体包括一下内容 1、复制/etc/skel目录到/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id…

    Linux干货 2016-10-16