您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页DNS(2)--bind服务介绍及配置文件语法格式

DNS(2)--bind服务介绍及配置文件语法格式

来源:五一七教育网
DNS(2)--bind服务介绍及配置⽂件语法格式

⽬录

1. bind服务

1.1 bind概述

BIND 是由美国加州⼤学开发并且维护的,BIND是⼀个开源、稳定、且应⽤⼴泛的DNS服务。

开源:指 BIND 服务源代码是开放的;稳定:指 BIND 服务运⾏⾮常稳定;

⼴泛:企业、单位机构、学校、等;

BIND提供域名解析服务、权威域名服务、DNS调试⼯具:

域名解析服务:将域名解析为IP地址;

权威域名服务:能从该服务器查询到完整域名对应的IP地址,则这台服务器就算权威解析;DNS调试⼯具:主要提供DNS客户端调试⼯具,供客户端使⽤;

1.2 bind程序包结构

安装bind

[root@dns01 ~]# yum install bind bind-utils[root@dns01 ~]# rpm -q bindbind-9.11.4-16.P2.el7.x86_

其中:

bind-utils:bind客户端程序集,例如dig, host, nslookup等;bind:提供的dns server程序、以及⼏个常⽤的测试程序;bind-libs:被bind和bind-utils包中的程序共同⽤到的库⽂件;bind包⽂件:

bind的system的unit⽂件:

/usr/lib/systemd/system/named.servicebind主配置⽂件:/etc/named.conf主程序⽂件:/usr/sbin/namedbind⼦配置⽂件:/etc/named.rfc1912.zones

区域解析数据库⽂件,也就是IP地址与域名的对应关系存放的⽬录:/var/named

bind的⽇志⽂件默认存放在/var/log/messages⽂件中。

1.3 bind配置⽂件详解

1.3.1 bind配置⽂件

1.3.1.1 bind主配置⽂件

主配置⽂件组成部分::

options {} :全局选项(监听端⼝、数据⽂件存储位置、缓存位置、权限等)logging {} :服务⽇志选项zone . {} :⾃定义区域配置include :包含其他的⽂件主配置⽂件注意事项

语法⾮常严格;

⽂件权限属主 root ,属组 named ,⽂件权限 0;配置⽂件各个字段意义:

[root@dns01 ~]# cat /etc/named.conf options {

#监听的地址和端⼝,localhost表⽰监听在本机所有地址上; listen-on port 53 { localhost; }; listen-on-v6 port 53 { ::1; }; #区域数据库⽂件存放的⽬录; directory \"/var/named\"; #dns解析过内容的缓存⽂件

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\"; recursing-file \"/var/named/data/named.recursing\"; secroots-file \"/var/named/data/named.secroots\";

#允许谁向本台DNS发起查询请求(localhost|ip|any); allow-query { any; };

#本DNS是否提供递归请求服务,yes表⽰提供,no表⽰不提供; recursion yes;

dnssec-enable yes; dnssec-validation yes;

/* Path to ISC DLV key */

bindkeys-file \"/etc/named.root.key\";

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

pid-file \"/run/named/named.pid\";

session-keyfile \"/run/named/session.key\";};

#控制⽇志输出的级别以及输出的位置logging {

channel default_debug { file \"data/named.run\"; severity dynamic; };};

#默认可以对任何域名提供解析服务;因为named.ca中存储的是全球根域服务器;zone \".\" IN { type hint;

#区域配置⽂件名称; file \"named.ca\";};

#包含的其他⽂件;

include \"/etc/named.rfc1912.zones\";include \"/etc/named.root.key\";

1.3.1.2 bind区域配置⽂件

可以使⽤bind来解析⾃定义的的域名,需要配置⾃定义的区域解析⽂件。⾃定义域分为如下两类:

主机域:

1.主机域其实是⼀个假域;

2.主机域其实是不能解析到互联⽹上;

3.主机域它只对局域⽹(内⽹)提供服务;业务域:

1.业务域⼀般都是真实可⽤的;

2.业务域则为⼀个真正需要对外提供服务的域名;⾸先要⾃定义区域配置⽂件,指明区域解析⽂件的名称:

区域 zone ⽂件定义在 /etc/named.conf 配置;

也可以配置在⾃定义的其他⽂件⾥,并在 named.conf ⾥ include;注意⽂件的权限,属主 root 属组 named ⽂件权限 0;

zone \"example.com\" IN { type master|slave; #⾃定义区域类型 file /path/to/zonefile; #绝对路径和相对路径 allow-update {ip|none};

#允许哪个ip可以使⽤nsupdate动态更新 区域⽂件 };

1.3.2 区域解析⽂件

⾃定义的区域数据库解析范例以及编写注意事项:

1.严格注意语法书写,其格式⾮常严格;2.记录不准许折⾏书写;

3.单⾏记录开头不准许空格或tab开头;

4.⽂件权限属主 root ,属组 named ,⽂件权限 0;资源记录语法格式

区域数据库解析⽂件是由资源记录RR组成的,不论哪种记录都包含五项元素,其语法格式如下:

语法:name [TTL] IN rr_type value

元素说明:

name 指⽰拥有资源记录的 DNS 域名,该名称与资源记录所在的控制台树节点的名称相同

TTL 缓存的时间,⽣命期,以秒为单位,可定义为类似变量$TTL 800,那么以下各条相同时间的资源记录就可以省略IN 代表Internet,保留下来不动就可以

rr_type 资源记录类型,例如SOA,表⽰起始授权记录value 记录特定数据,描述资源的信息

注意:

@代表当前区域的域名,可以⽤来引⽤当前域名,例如@ IN SOA;

同⼀个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询⽅式响应

同⼀个值也可能有多个不同的定义名字;通过多个不同的名字指向同⼀个值进⾏定义;此仅表⽰通过多个不同的名字可以找到同⼀个主机;

1.3.2.1 SOA记录

SOA记录位于解析⽂件的开始,每个解析⽂件都有唯⼀⼀个SOA记录,⽤于描述这个区域的整体信息,格式如下:

$TTL 800 <==定义整个记录的TTL时间为800

|example.com. | IN | SOA | ns.example.com. | nsadmin.example.com.| (| name | IN |TYPE| value 1 | value 2 |2021071501 ;serial <==value 3

2H ;refresh <==value 4 10M ;retry <==value 51W ;expire <==value 6

1D ) ;negative answer ttl <==value 7

以上的元素意义如下:元素type

资源类型为SOA类型

意义

name当前区域的名字,例如“example.com.” com后的点必须写,不然系统会⾃动将域名再补⼀次,变成\"example.com.example.com.\"value1主DNS的名称,例如ns.example.com.

元素DNS服务器的管理员邮箱,注意:因为@在资源记录中有特殊含义,这⾥⽤点来代替,例如意义value2nsadmin.example.com.

序列号(serial number) ⼗进制表⽰,不能超过10位,通常使⽤⽇期时间戳,例如2021071501;其作⽤是主从同步,当主DNS服务value3器的解析⽂件发⽣变化时,管理员需要⼿动更新此序列号的值,主服务器⽐对主从的序列号不⼀致,会⽴刻进⾏主从同步操作,否

则会等待刷新时间到了才由从服务器同步主服务器数据。value4刷新时间,表⽰从服务器从主服务器请求同步解析的时间间隔,默认以秒为单位,⽀持1h、1d表⽰,例如:2H。value5重试时间,表⽰从服务器请求同步失败时,再次尝试同步的时间间隔,应该⽐同步间隔⼩ ,例如10m。value6过期时间,表⽰从服务器联系不到主服务器时,辅助DNS在多长时间内认为其缓存是有效的, 例如1W。value7否定答案的TTL值,表⽰不存在的记录缓存时长, 将不正确的域名缓存起来,直接返回结果给⽤户,不需要查询。

1.3.2.2 NS记录

NS记录的格式如下:

| name | TTL | IN | TYPE | value |

|example.com.|800| IN | NS | ns1.example.com.| |example.com.|800| IN | NS | ns2.example.com.|

以上的元素意义如下:元素

name当前区域的域名type类型为NS

value当前区域的某DNS服务器的域名,例如ns1.example.com.注意:

⼀个区域可以有多个NS记录,表⽰主从关系;相邻的两个资源记录的name相同时,后续的可省略;

对NS记录⽽⾔,任何⼀个ns记录后⾯的服务器名字,都应该在后续有⼀个A记录,⽤于告知客户端DNS的地址。

ns1.example.com. 800 IN A 192.168.169.5ns2.example.com. 800 IN A 192.168.169.6

1.3.2.3 A记录和AAAA记录

意义

A 记录可实现将域名解析为 IPV4 地址,AAAA记录可实现将域名解析为 IPV6 地址,两者格式相同:

www.example.com. IN A 1.1.1.1www.example.com. IN A 1.1.1.2

以上的元素意义如下:元素

意义

nameFQDN,即域名type类型为A或AAAAvalue某IPv4地址或IPV6地址;

1.3.2.4 CNAME记录

CNAME为别名记录,格式如下:

www.example.com. 800 IN CNAME www.example1.com.

以上的元素意义如下:元素

意义

nameFQDN,即域名typeCNAME

value真正名字的FQDN注意:

涉及到名字,也需要在A记录中增加对应的解析记录,例如:

www.example1.com. 800 IN A 101.200.188.230

1.3.2.5 PTR记录

PTR记录为逆向解析记录,由IP地址解析域名,⽰例:

#表⽰把1.2.3.4的IP地址解析为www.example.com.域名4.3.2.1.in-addr.arpa. 800 IN PTR www.example.com.#注意:⽹络地址及后缀可省略;主机地址依然需要反着写4 800 IN PTR www.example.com.

以上的元素意义如下:元素name

意义

IP,有特定格式,把IP地址反过来写(例如1.2.3.4,要写作4.3.2.1);然后加特定后缀:in-addr.arpa.;所以完整写法为:4.3.2.1.in-addr.arpa.

typePTRvalueFQDN

1.3.2.6 MX记录

MX为区域的邮件记录,⼀个区域内MX记录可有多个,⽰例如下:

example.com. 800 IN MX 10 mail.example.com.

800 IN MX 20 mail2.example.com. <==name相同,下⾯的记录可以忽略此元素#涉及到名字,需要在A记录中增加对应解析项:

mail 800 IN A 3.3.3.3 <==mail为简写,其后没有加[ . ],会⾃动补上域名mail2 800 IN A 3.3.3.4

以上的元素意义如下:元素

name当前区域的名字typeMXvalue

当前区域的某邮件服务器(smtp服务器)的主机名,由2部分组成:1.服务器的优先级,由数字(0-99)表⽰,表⽰此;数字越⼩优先级越⾼;2.服务器名;

意义

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务