linux 配置DNS正反区域,Linux基础服务_DNS原理以及正反向DNS配置

DNS服务的原理介绍:

dns(Domain Name Service,域名解析服务)    为c/s架构的服务

通常默认的监听的端口为:53/tcp     53/udp

将dns服务实现的应用程序为:bind        (rpm包 )

DNS的树状结构:

%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%A0%91%E5%9E%8B%E7%BB%93%E6%9E%84.jpg

根域为:.

tld:(Top Level Domain  顶级域)

组织域:.com, .net, .org, .gov, .edu, .mil

国家域:.iq, .tw, .hk, .jp, .cn, ...

DNS查询内型:

递归查询:DNS请求被服务器接受后,如果属于此服务器管辖范围则请求上级服务器依次传递请求,并且依次传递结果给发出请求的主机。

DNS%E9%80%92%E5%BD%92.jpg

迭代查询:DNS请求被服务器接受后,如果不是自己管辖范围,让客户端访问根域服务器,然后跟域通知客户端去访问下级服务器,直到最后客户端访问管辖请求域名的服务器为止。

DNS%E8%BF%AD%E4%BB%A3.jpg

DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式。

DNS解析方式:

正向解析:  名称(域名)——>IP

反向解析:   IP——>名称(域名)

**二者的名称空间,非为同一个空间,即非为同一棵树;因此,也不是同一个解析库

DNS服务器类型:

主DNS服务器;从DNS服务器:负责解析一个域或多个域。

缓存服务器:不负责解析域名

区域(zone)和域(domain)

例:

xxxx.com为域:

将xxx.com进行正向解析时:正向解析库为区域

将xxx.com进行反向解析时:反向解析库为区域

区域传送:

全量传送:axfr, 传送整个数据库;

增量传送:ixfr, 仅传送变量的数据;

区域的数据库文件中相关参数含义:

资源记录:Resource Record, 简称rr;

记录有类型:A, AAAA, PTR, SOA, NS, CNAME, MX

SOA:Start Of Authority,起始授权记录;

NS:Name Service,域名服务记录;

A: Address, 地址记录,FQDN --> IPv4;

AAAA:地址记录, FQDN --> IPv6;

CNAME:Canonical Name,别名记录;

PTR:Pointer,IP --> FQDN

MX:Mail eXchanger,邮件交换器;

优先级:0-99,数字越小优先级越高;

资源记录的定义格式:语法:  name  [TTL] INRR_TYPE value

SOA:起始授权记录name: 当前区域的名字;

value:有多部分组成

(1) 当前区域的区域名称(也可以使用主DNS服务器名称);

(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代;

(3) (主从服务协调属性的定义以及否定答案的TTL)

注意:任何解析库文件的第一个记录的类型必须是SOA

例:

@     IN     SOA     xxx.com    mailxxx.com  (

20000001  ; serial    序列号#每增加配置版本号+1

1D      ; refresh   刷新时间间隔

1H      ; retry     重式时间间隔

1W      ; expire    过期时常

3H )    ; minimum   否定答案的缓存时长

NS:Name Service,域名服务记录name: 当前区域的区域名称

value:当前区域的某DNS服务器的名字,例如dns.xxx.com.;

注意:一个区域可以有多个ns记录;例:

xxx.com    IN     NS          dns1.xxx.com

xxx.com    IN     NS          dns2.xxx.com

MX:Mail eXchanger,邮件交换器;name: 当前区域的区域名称

value:当前区域某邮件交换器的主机名;

优先级:0-99,数字越小优先级越高;

注意:MX记录可以有多个;但每个记录的value之前应该有一个数字表示其优先级;例:

xxx.com    IN  MX     20   mx1.xxx.com

xxx.com    IN  MX     10   mx2.xxx.com

A:Address, 地址记录,FQDN --> IPv4;name:某FQDN,例如www.xxx.com.

value:某IPv4地址;例:

www.xxx.com        IN   A   172.16.0.55

www.xxx.com        IN   A   172.16.1.11

edu.xxx.com        IN   A   172.16.0.55

AAAA:地址记录, FQDN --> IPv6;name:FQDN    //表示的为域

value: IPv6    //代表的IPV6

PTR:Pointer,IP --> FQDN:反向解析name:IP地址,有特定格式,IP反过来写,而且加特定.in-ddar.arpa后缀;

例如172.16.0.55的记录应该写为55.0.16.172.in-addr.arpa.;

value:FQND例:

172.16.0.55.in-ddar.arpa  IN  PTR   www.xxx.com

CNAME:Canonical Name,别名记录;name:FQDN格式的别名;

value:FQDN格式的正式名字;例:

edu.xxx.com      IN  CNAME      www.xxx.com

sss.xxx.xom      IN  CNAME      www.xxx.com

在区域的数据库文件中定义时要注意:

(1) TTL可以从全局继承;

(2) @表示当前区域的名称;

(3) 相邻的两条记录其name相同时,后面的可省略;

(4) 对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录

配置正反向的DNS服务前的环境!

linux中提供的DNS服务包为bind(bekerley internet name domain)

使用 yum install 安装bind;并使用 rpm -ql 查看安装的程序的环境程序环境:

主程序:/usr/sbin/named

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones

区域解析库文件:/var/named/

主配置文件中定义域类型分为:

主域(master)、从域(slave)、缓存域(hint)、转发域(forward)

bind的配置文件:主配置文件:

/etc/named.conf

或包含进来其它文件;

/etc/named.iscdlv.key

/etc/named.rfc1912.zones    //用来定义区域的主配置文件

/etc/named.root.key解析库文件:

/var/named/目录下;                     //配置完的区域文件后对的配置文件的存放处

一般名字为:ZONE_NAME.zone

注意:(1) 一台DNS服务器可同时为多个区域提供解析;

(2) 必须要有根区域解析库文件: named.ca;

(3) 还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库;

正向:named.localhost       反向:named.loopbackbind程序安装完成之后,默认即可做缓存名称服务器使用;

如果没有专门负责解析的区域,直接即可启动服务;CentOS 6与CentOS 7的bind启动方法:

CentOS 6: service  named  start

CentOS 7: systemctl  start  named.service

DNS服务的正反向解析配置!

案例:

为xxx.ss域配置一个dns服务

dns服务器地址为:172.16.254.188

www :  172.16.254.188

mail:   172.16.252.177

ftp别名www,指向www

第一步安装:bind

第二步修改/etc/named.conf配置文件:[root@localhost ~]# vim /etc/named.conf

options {                                                #全局配置

//listen-on port 53 { 127.0.0.1; };              #注释后监听全部IP的53端口

//listen-on-v6 port 53 { ::1; };

directory       "/var/named";                    #区域文件目录

dump-file       "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

//allow-query     { localhost; };          #访问控制,注释后允许所有IP访问或改为any

allow-query     { any; };

recursion yes;                             #是否递归

//dnssec-enable yes;                       //是否启用dns校验的服务注销或者改为no

//dnssec-validation yes;

dnssec-enable no;

dnssec-validation no;

/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {                                           #定义日志

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

第三步:在/etc/named.rfc1912.zones创建正反向区域或在/etc/named.conf内配置zone "xxx.ss" IN {               //正向区域

type master;

file "xxx.ss.zone";

};

zone "16.172.in-addr.arpa" IN {         //反向区域   在配置反向区域时IP为反写的并在后加特定的后缀.in-addr.arpa

type master;

file "172.16.zone";

第四步:在/var/named/ 下创建相关的正反向区域的配置文件创建正向区域文件

[root@localhost named]# vim xxx.ss.zone   #必须与区域文件名保持一致

$TTL 2000

@       IN      SOA     dns.xxx.ss.     admin.xxx.ss. (

2017052901

1H

5M

6D

1D )

@       IN      NS      dns

@       IN      MX 10   mail

dns     IN      A       172.16.254.188

mail    IN      A        172.168.252.177

www     IN      A       172.16.254.188

ftp     IN      CNAME   www

创建反向区域文件

[root@localhost named]# vim 172.16.zone    #必须与区域文件名保持一致

$TTL 2000

@     IN    SOA    dns.xxx.ss.      admin.xxx.ss. (

2017052901

1H

5M

6D

1D )

@               IN      NS      dns.xxx.ss.

188.254         IN      PTR     dns.xxx.ss.

177.252         IN      PTR     mail.xxx.ss.

188.254         IN      PTR     www.xxx.ss.

第五步:检查并修改文件权限,检查配置文件语法;

修改创建配置文件的权限# chgrp  named   ZONE_FILE NAME

# chmod  o=      ZONE_FILE NMAE

检查配置文件是否语法错误:# named-checkzone  ZONE_NAME   ZONE_FILE

# named-checkconf

第六步开启服务:# rndc  reload   服务重载

# systemctl  reload  named.service   重启服务

第七步:产看本地53号端口是否正常监听ss -tnl

第八步测试:正向解析:

dig  -t A  www@xxx@ss 【将@换为.】   @172.16.254.188反向解析:dig  -x 172.16.254.188   @172.16.254.188

更多的dig命令请自行查找

以上仅为个人学习整理,如有错漏,大神勿喷~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值