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)
上一篇 2016-06-11 22:40
下一篇 2016-06-12 13:11

相关推荐

  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-08-24
  • 计算机(服务器)的基础知识

    计算机(服务器)基础知识  计算机系统由硬件系统与软件系统两大部分组成 一、计算机(Computer)):又称电脑,是一种能自动接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备。 发展历史:       第一代计算机(1946-1957)…

    Linux干货 2017-02-15
  • 【N25第五周作业】find命令以及相关练习

    find: 实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找; 工作特性: 查找速度略慢; 精确查找; 实时查找; 用法: find [OPTIONS]  [查找起始路径]  [查找条件]  [处理动作] 查找起始路径:指定具体搜索目标起始路径;默认为当前目录; 查找条件:…

    Linux干货 2016-12-27
  • 文本处理工具sed

    处理文本的工具sed Stream EDitor,  行编辑器     sed 是一种流编辑器,它一次处理一行内容。处理时,把     当前处理的行存储在临时缓冲区中,称为“模式空间”(     pa…

    Linux干货 2016-08-10
  • 安装RPM包 rpm与yum工具的使用

    1.认识yum与rpm工具.                 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续 “下一步” 即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下。所以你要学会如何在linux下安装一…

    Linux干货 2016-08-26
  • python面向对象

    ##**语言的分类**– 面向机器:汇编语言– 面向过程:c语言– 面向对象:C++ Java Python ##**面向对象**– 类class– 类是抽象的概念,万事万物的抽象,是一类事物的共同特征集合。– 对象instance object– 对象是类的具象,是一个实体…

    Linux干货 2017-11-13