构建企业级DNS系统(四)bind9配置标准权威区

基于BIND9搭建DNS系统先从学习配置标准权威区开始。

一、配置named.conf

下面named.conf是实现最简单的权威主区test.com的举例,关于多视图智能权威解析以及主辅权威区等内容咱们后续再慢慢介绍,先从这个简单的例子了解权威区的含义和区(zone)文件的格式。

key "rndc-key" {
        algorithm hmac-sha256;
        secret "AXeCgzN/af9naYrVgtmdBkBEO2XYDl4k+rlq3dICfrY=";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
};

options {
        directory "/usr/local/bind/var/run";
        pid-file "named.pid";
        recursion yes;
        allow-query { any; };
        listen-on port 53 { any; };
};

//创建test.com权威区
zone "test.com" {
        type master;
        file "test.com.zone";
};

named.conf中配置权威区需要注意的细节如下:

  • 使用zone语句定义权威区的名称,并用花括号括起来,记得末尾的分号,否则报错。
  • 子语句中首先必须包含type关键字,type的常用类型可以是master(代表主区)、slave(代表辅区)、forward(转发区)、hint(根名字服务器集合)、static-stub(静态存根区)、stub(存根区)、redirect(重定向区)。
  • 区选项file用来指定test.com区文件的名称和位置,如果没有指定路径则此文件应该在options选项中directory设置的目录中。
  • 还有很多其他的区选项可以配置,这里先不做详细介绍,后续具体场景专题中单独介绍,例如allow-notify、allow-query、allow-update、also-notify、check-names、forwards、server-addresses等区选项。
二、创建区(zone)文件

在指定的目录下创建zone文件名称test.com.zone内容如下。

$TTL 3h
@       IN SOA dns1.test.com. manager.test.com. (
                1       ;Serial
                3h      ;Refresh after 3 hours
                1h      ;Retry after 1 hour
                1w      ;Expire after 1 week
                1h)     ;Negative caching TTL of 1 hour
;
@       IN NS dns1.test.com.
@       IN NS dns2.test.com.
;
;server domain
;
dns1    3600    IN      A       111.10.10.10
dns2    3600    IN      A       111.10.10.20
www     300     IN      A       101.10.10.10
hello   20      IN      A       101.10.10.20
a       20      IN      CNAME   hello
mail    300     IN      A       101.10.10.30
;
;mail server
;
@       3600    IN      MX      10 mail
;
;example defaut TTL
$TTL 50
b       IN      A       1.1.1.1

区文件的相关说明如下:

  • 第一行以$TTL 3h开始,此行设置了域名记录的默认TTL值,如果整个zone文件中没有其他的同类TTL默认设置,那么这个就是全局的域名默认TTL设置。BIND8.2之前的版本是用区的SOA记录额的最后一个字段来设置默认TTL,RFC2308发布后,SOA的最后一个字段是否定缓存TTL。
  • 第二行是test.com区的SOA记录(start of authority,起始授权机构),一个区文件中必须有而且只能有一个SOA记录。dns1.test.com是test.com的master名称服务器(DNS)的名称。manager.test.com是区域负责人的邮件地址,把第一个点替换成@则为manager@test.com。后面括号内的大部分字段都是供slave(辅)服务器用的,后面我们专题介绍。
  • @是一种简写方法,这个位置等同于test.com,bind启动后会把zone名称作为一种“来源域名”引入,在zone中的域名如果与来源域名相同,那么这个域名就可以简写为@
  • 上面提到的“来源域名”会附加在zone文件中的每个记录名称后面,所以zone文件中例如www.test.com域名就可以简写为www,bind会自动的附加这个来源域名后缀。当然我们在zone文件中直接写www.test.com.也是可以的,注意域名后面有一个(“.”),否则域名其实是www.test.com.test.com
  • 分号开头代表注释,适当的空行和注释对zone文件的维护有好处。
  • b.test.com域名上$TLL 50代表从这往下的域名如果没有指定TTL则默认TTL为50秒。
三、合规检验

完成zone文件配置后可以使用bind自带的检查工具对zone文件配置合规性进行检查,检查举例如下:

[root@localhost sbin]# ./named-checkzone test.com ../var/run/test.com.zone 
zone test.com/IN: loaded serial 1
OK

named-checkzone是bind自带的工具,用于检查zone文件合规,结果是OK代表zone文件能正常加载,解析测试如下

[root@localhost ~]# dig @192.168.3.160 test.com ns

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @192.168.3.160 test.com ns
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7719
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test.com.			IN	NS

;; ANSWER SECTION:
test.com.		10800	IN	NS	dns2.test.com.
test.com.		10800	IN	NS	dns1.test.com.

;; ADDITIONAL SECTION:
dns1.test.com.		3600	IN	A	111.10.10.10
dns2.test.com.		3600	IN	A	111.10.10.20

;; Query time: 0 msec
;; SERVER: 192.168.3.160#53(192.168.3.160)
;; WHEN: Tue Jun 16 09:01:01 EDT 2020
;; MSG SIZE  rcvd: 107

本文先对标准权威区先介绍到这,准确来讲是标准的“正向区”,而关于“反向区”和“主辅同步”以及动态配置权威记录等细节我们后续专题再详细介绍。
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值