DNS正解区域文件

在DNS中,我们知道有域和区域的概念,域的英文名称是domain,它是一种逻辑概念;而区域英文全称zone,它是一种物理概念。且zone分为正解区域和反解区域

正解区域:提供正向解析的服务,即FQDN-->IP的过程

反解区域:提供反向解析的服务,即IP-->FQDN的过程

不管好似正解区域还是反解区域,都通过了一个配置文件,这个文件中的每一个条目就是一个资源记录(Resource Record,RR)。

资源记录的类型主要有这些,且这些资源记录的格式为:

SOA:起始授权记录(Start Of  Authority ),定义数据文件是为哪个区域创建的

格式:

ZONE_NAME  TTL      IN     SOA         (主DNS)FQDN        ADMINISTRATOR_MAILBOX (

serial number

refresh

retry

expire

nagitive TTL )

说明:TTL是某个解析记录保存在DNS服务器上面的有效时长,可以省略。如果每个资源记录的TTL一样,可以在该文件中的最前面这样声明即可:TTL  600

切记SOA记录必须是文件中的第一个资源记录条目,可以出现在正解和反解区域文件中

这里的邮件地址不能使用@符号,@符号在这里表示为域名。因此邮件地址一般这样写:

admin.xsl.com.

例如:写一个SOA的资源记录条目

xsl.com.     600   IN   SOA      ns.xsl.com.     admin.xsl.com.   (

2014082001

1H

5M

1W

1D        )

注意:这里的单位可以是分钟(M),小时(H),天(D),周(W),默认单位是秒

NS:Name Server,NS记录表示的是某个域内的DNS服务器,因此它的格式是这样的:

ZONE_NAME    TTL     IN      NS      NS_FQDN

NS_FQDN          TTL     IN       A        IP

由于NS记录是指定DNS服务器的,因此这里需要指定某个域内的DNS服务器的是谁?这个服务器的ip地址是什么。因此需要两条记录。

这里的A表示的是A记录,格式就是上面的。

例如:在这里写一个NS记录的例子:

xsl.com.            TTL        IN      NS     ns1.xsl.com.    #这里的域名可以使用@表示

xsl.com.            TTL        IN      NS     ns2.xsl.com.

ns1.xsl.com.     TTL        IN       A        1.1.1.1            #其实这里的主机名也可以省略,即写ns1

ns2.xsl.com.     TTL        IN       A         2.2.2.2

A:Address,A记录是定义某个主机(FQDN)到ipv4的过程,格式在上面已经说过,这里不再写了。

不过要说明的时,A记录只能出现在正解区域文件中。

AAAA:这个也是A记录,不过定义的是FQDN到ipv6的过程

MX:Mail  eXchanger,这是邮件资源记录。由于邮件服务器可能有多个,因此我们使用优先级pri来判断优先选择使用哪个邮件服务器。优先级pri范围是0-99,数字越小越优先

邮件资源记录条目一般定义在正解区域文件中

邮件资源记录的格式和NS资源记录的格式大致相同:

ZONE_NAME    TTL         IN      MX    PRI   FQDN

FQDN                 TTL        IN        A                IP

例如:在这里写个MX资源记录的例子:

xsl.com.                600        IN       MX     10    mail.xsl.com.

mail.xsl.com.        600        IN        A                3.3.3.3

CNAME:Canonical NAME,一般之出现在正解区域文件中

格式是:

FQDN(new)        TTL      IN      CNAME    FQDN(old)

例如:mail.xsl.com.这个主机的别名为ml.xsl.com.

ml.xsl.com    600   IN   CNAME     mail.xsl.com(这个是真名)

PTR:domain  name  pointer   ,这是一个反向解析的资源记录,只能出现在反解区域文件中。

格式是:IP.in-addr.arpa    TTL     IN    PTR     FQDN

例如:192.168.20.10的域名为www.xsl.com.,可以这么写:

10.20.168.192.in-addr.arpa     600   IN   PTR  www.xsl.com.

例如:以192.168.20.10的主机名是www.xsl.com.为了建立DNS反解区域文件

.20.168.192.in-addr.arpa      600    IN    SOA    ns1.xsl.com.   admin.xsl.com.  (

2014082101

1H

10M

1D

1D  )

10.20.168.192.in-addr.arpa    600    IN      PTR     www.xsl.com.

刚刚说个区域分为正解和反解区域。这只不过是从查询角度来说的,如果从传输数据的角度来划分,那么区域类型可以这么划分:

主区域:Master,定义主服务器的区域

从区域:Slave,定义从服务器的区域

提示区域:hint,定义根域DNS服务器的区域

转发区域:forword,定义转发到某个DNS服务器的区域

其中这些区域包含正解区域或者反解区域。懂了吗?

在这里手动演示建立一个DNS服务器

1、环境需求:作者使用的是RHEL5.8的系统

2、软件需求:由于目前使用DNS的软件大多使用的bind这个软件,因此,在这里我们也使用bind这个软

件来搭建一个DNS服务器。目前bind软件最新的是bind97,而系统默认就安装了bind这个软件,所以

我们再此先卸载系统默认安装的软件。在安装其他的软件。

卸载之前的软件:rpm -e  bind-libs

rpm -e  bind-utils

安装新版的bind软件:yum  install bind97-libs

yum install bind97

yum install bind97-utils

3、安装完成了上述3个软件后,系统默认会生成DNS的配置文件(/etc/named/named.conf)

在这里,我们不使用默认的配置文件,直接手动生成。

重命名DNS配置文件:mv /etc/named.conf   /etc/named.conf.old

手动生成DNS配置文件:vim /etc/named.conf

options {

directory       "/var/named" ;   #定义所以区域的数据文件

allow-recursion {  192.168.108.0/24; }  #定义可以进行递归查询的网段主机

##option这里可以定义多个工作属性,且全局生效

};

zone "." IN {

type hint ;    #指定根服务器的类型,其他DNS服务器只要解析不了的,都会将请求发给根

file "named.ca" ;  #指定根服务器的数据文件,这里的数据文件都是使用相对路径

};

zone "localhost" IN {

type master ;

file "named.localhost" ;

};

zone "0.0.127.in-addr.arpa" IN {

type master ;

file "named.loopback" ;

};

zone "xsl.com" IN {

type master ;

file "xsl.com.zone" ;

};

zone "108.168.192.in-addr.arpa" IN {

type master ;

file "108.168.192.in-addr.arpa.zone" ;

};

说明:这里的每一个zone表示的就是一个区域,其中以.in-addr.arpa结尾的表示是反向区域。其中type指定的是区域类型,file表示的是这个区域的数据文件,该数据文件以相对路径来表示。

4、修改DNS的配置文件属主和属组

chown  root:named  /etc/named.conf

5、手动生成每个区域的数据文件

在这里我不在手动生成本地区域的正解数据文件和反解数据文件。这里只手动生成xsl.com这个区域的正解数据文件。

vim /var/named/xsl.com.zone

$TTL 600

@       IN      SOA     ns1.xsl.com.    admin.xsl.com. (

2014082301

1H

5M

1D

1D )

IN      NS      ns1.xsl.com.

ns1.xsl.com.    IN      A       192.168.108.251

www             IN      A       10.100.10.1

www             IN      A       10.100.10.2

www             IN      A       192.168.108.15

ftp             IN      A       192.168.1.1

ftp             IN      A       192.168.108.252

mail            IN      CNAME   ftp

6、修改xsl.com.zone这个文件的属主和属组

chown root:named /var/named/xsl.com.zone

不过,在建立完成了DNS服务器之后,要确保SElinux处于关闭状态

使用getenforce可以查看SElinux处在的状态

setenforce 0:关闭SElinux

setenforce 1:开启SElinux

不过在命令行修改的,可以立即生效,但是不会永久生效。要想永久生效,可以修改SELinux的配置文件/etc/selinux/config

修改完成之后,在使用service named  restart重启该服务即可

为了验证在创建配置文件和数据文件的准确性,我们可以使用这些命令来检查配置文件和数据文件的语法是否正确:

named-checkconf:如果没有什么其实表示DNS的配置文件的语法是正确的

named-checkzone "区域"    该区域的数据文件  :检查某个区域的数据文件的语法是否正确。

这两个命令是检查语法是否正确的,语法正确不代表这些文件一定是正确的。逻辑错误是检查不出来的。

接下介绍一些关于DNS的命令

dig  -t  {A|NS|MX} @server_ip

{A|NS|MX}:可以来查看相关资源记录的信息

@server_ip:表示由指定的DNS服务器来负责解析

dig +trace [-t] [-A|-MX|-NS]  主机名 [@server_ip]:跟踪整个解析过程

dig  +recurse 主机名 :允许该主机使用递归查询

+norecurse    :不允许某主机使用递归查询

nslook  主机名:也可以用来解析主机名,在windows下也可以使用

nslook交互式命令:

nslook回车

server  ip          #使用指定DNS服务器来负责解析

主机名                #要解析的主机名

host   主机名:也可以用来解析某个主机名

linux的dns怎么配置正向区域文件,Linux学习之路之DNS的配置文件和正解区域文件、反解区域文件...相关推荐

  1. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

  2. linux 查看libevent 安装目录,linux下libevent安装配置与简介 以及 linux库文件搜索路径的配置...

    libevent简介 libevent是基于Reactor模式的I/O框架库,它具有良好的跨平台性和线程安全,它实现了统一事件源(即对I/O事件.信号和定时事件提供统一的处理).高性能分布式内存对象缓 ...

  3. linux 控制终端卡,配置通过串口控制linux操作系统的终端

    开始之前,请确认机器有串口(com口, RS232接口),如果没有,那就没有办法达到通过串口控制机器的目的了.当然,也可以额外给机器安装一个带串口的 PCI 模块,然后想办法将模块驱动起来(内核默认能 ...

  4. linux进程挂掉 自动启动,配置systemd以在Linux崩溃后自动启动服务

    本文介绍配置systemd以在Linux崩溃后自动启动服务的方法.进程在Linux系统上崩溃的原因有很多,你可以调查并解决问题,但可能需要一段时间.但是你可以立即将服务恢复到联机状态的一件事是在服务中 ...

  5. 计算机DNS怎么配置,怎样正确设置电脑的IP地址和DNS等参数

    使用宽带路由器的话一般建议手工指定电脑的IP地址和DNS等参数,下面学习啦小编就教你如何正确设置电脑的IP地址和DNS等参数吧! 正确设置电脑的IP地址和DNS等参数的方法: 如果你使用的是Windo ...

  6. linux虚拟机ifcfg-ens33网卡配置,静态IP、网关、子网掩码、DNS地址的配置

    使用ifconfig命令显示命令找不到,可以yum install net-tools安装. 1.使用ifconfig查找虚拟机现有的网络配置 其中lo是本地网络,ens33是主要配置的网络 2.查找 ...

  7. linux pxe服务器的配置,pxe http安装linux 配置

    1. 需要有tftp和dhcp服务器 没有就安装: # rpm -ivh tftp-server-0.39-0.EL3.1.c0.i386.rpm # rpm -ivh dhcp-3.0.1-10_E ...

  8. linux开发板 wifi配置,iTOP-4412开发板Linux系统下使用wifi模块配置

    精英版在 linux 下使用 wifi,需要进行下面的配置: 首先用户在拿到光盘资料以后查看下光盘里面的"linux"->"root_xxxxxxxx.tar.gz ...

  9. linux卸载webmin及其配置,安装Webmin管理Linux系统

    何为Webmin Webmin是 目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器 访问Webmin的各种管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这 ...

最新文章

  1. php lodop 实例,Vue使用lodop实现打印小结
  2. js: live和die,bind和unbind
  3. Shell命令-系统信息及显示之uname、hostname
  4. java 限流熔断_SpringCloud Alibaba微服务实战五 - 限流熔断
  5. JDBC学习笔记(全)
  6. html标记语言 --超链接
  7. c语言提示少分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  8. 计算机专业基础 -- Java语言相关基础知识
  9. python日志:去掉noteexpress导出参考文献题录的空格
  10. BuildTools下载地址
  11. 前端学习-----HTML
  12. 【codeforces 760B】Frodo and pillows
  13. react插件,树状图(可自由定义子节点结构,大小,样式)
  14. unittest用例封装
  15. c语言bfs算法走迷宫,使用广度优先算法(BFS)走迷宫
  16. 「项目管理」甘特图制定项目计划的方法
  17. 有趣的编程(一)——海盗分金币问题如何编程求解
  18. loadrunner11.0 安装 破解
  19. Android 程序员必须掌握的三种自动化测试方法
  20. Redis高级应(2)-事务以及LUA脚本

热门文章

  1. JavaWeb之HelloWord
  2. AD19遇到不同层短路 字符阻焊错误 问题解决
  3. 计算机病毒防治的方法1000字,计算机病毒小论文1000字
  4. 通过wireshack深刻认识SSL和FTP协议
  5. 梦幻西游备注+小工具合集
  6. 交巡警求全市距离MATLAB程序,数学建模国赛优秀论文-交巡警服务平台的设置与调度.doc...
  7. 1-二分之一加三分之一减四分之一c语言,用c语言编程序1减二分之一加三分之一一直到减一百分之一的值...
  8. 中英文空格规范 (个人使用)
  9. ValueError问题的解决
  10. Uuntu16 学习记录(持续更新中......)