当前位置:文档之家› BIND9 的安装与配置

BIND9 的安装与配置

BIND9 的安装与配置
BIND9 的安装与配置

3. BIND9 的安装与配置

3.1 bind简介

BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括

?域名服务器 (named)

?DNS解析库函数

?DNS服务器运行调试所用的工具

是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的,

按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,DNS的故障会给你带来用户根本无法访问这些服务。

BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本:

v4

1998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD 还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用

BIND4。这样一来BIND8/9的很多优点都不包括在v4中。

v8

就是如今使用最多最广的版本,其详细内容可以参阅BIND 8+ 域名服务器安全增强

v9

最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BIND9在2000

年十月份推出,现在稳定版本是9.3.2。

3.2 软件的相关资源

官方网站:https://www.doczj.com/doc/ac6608420.html,/

最新版本: 9.3.2 https://www.doczj.com/doc/ac6608420.html,/sw/bind/bind9.3.php#download

帮助文档:https://www.doczj.com/doc/ac6608420.html,/sw/bind/

配置文件样例:https://www.doczj.com/doc/ac6608420.html,/bind.html

FAQ: https://www.doczj.com/doc/ac6608420.html,/getOpenSourceResource.php?id=6

3.3 配置环境

环境:GNU/Linux Debian/testing Linux 2.6.8-2-386

版本:bind9 9.3.2-2

测试域名:https://www.doczj.com/doc/ac6608420.html,

测试ip: 192.168.102.47 主域名服务器

192.168.102.48 纯缓存域名服务器

192.168.102.49 辅助域名服务器

192.168.102.49 测试客户机

3.4 配置文件说明

安装bind9的命令:

~# aptitude update

~# aptitude install bind9 bind9-host dnsutils

配置文件族:

# ls /etc/bind/ -l

total 44

-rw-r--r-- 1 root root 237 Jan 16 2006 db.0

-rw-r--r-- 1 root root 271 Jan 16 2006 db.127

-rw-r--r-- 1 root root 237 Jan 16 2006 db.255

-rw-r--r-- 1 root root 353 Jan 16 2006 db.empty

-rw-r--r-- 1 root root 256 Jan 16 2006 db.local

-rw-r--r-- 1 root root 1507 Jan 16 2006 db.root

-rw-r--r-- 1 root bind 1611 Jan 16 2006 named.conf

-rw-r--r-- 1 root bind 165 Jan 16 2006 named.conf.local

-rw-r--r-- 1 root bind 672 Jan 16 2006 named.conf.options -rw-r----- 1 bind bind 77 Aug 4 08:41 rndc.key

-rw-r--r-- 1 root root 1317 Jan 16 2006 zones.rfc1918

配置文件说明:

named.conf

设置一般的named参数,指向该服务器使用的域数据库的信息源named.conf.options

全局选项

db.root

根服务器指向文件,由Internet NIC创建和维护,无需修改,但是需要定期更新

db.local

localhost正向区文件,用于将名字localhost转换为本地回送IP地址(127.0.0.1)

db.127

localhost反向区文件,用于将本地回送IP地址(127.0.0.1)转换为名字localhost

其中,主配置文件/etc/named.conf的配置语句

命令用法

acl 定义IP地址的访问控制清单

control 定义ndc使用的控制通道

include 把其他文件包含到配置文件中

key 定义授权的安全密钥

logging 定义日志写什么,写到哪

opitons 定义全局配置选项和缺省值

server 定义远程服务器的特征

trunsted-keys 为服务器定义DNSSEC加密密钥

zone 定义一个区

默认情况下,内容如下:

include "/etc/bind/named.conf.options";

zone "." {

type hint;

file "/etc/bind/db.root";

};

zone "localhost" {

type master;

file "/etc/bind/db.local";

};

zone "127.in-addr.arpa" {

type master;

file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" {

type master;

file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" {

type master;

file "/etc/bind/db.255";

};

include "/etc/bind/named.conf.local";

其中type项的值:

master:表示定义的是主域名服务器

slave :表示定义的是辅助域名服务器

hint:表示是互联网中根域名服务器

在Debian环境中,options语句的配置内容,被移至named.conf.options文件中:

options {

directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want

// to talk to, you might need to uncomment the

query-source

// directive below. Previous versions of BIND always asked

// questions using port 53, but BIND 8.1 and later use an unprivileged

// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable

// nameservers, you probably want to use them as forwarders.

// Uncomment the following block, and insert the addresses replacing

// the all-0's placeholder.

// forwarders {

// 0.0.0.0;

// };

auth-nxdomain no; # conform to RFC1035

};

3.5 创建主域名服务器

a. 首先, 在在192.168.102.47机器上安全bind9

b. 使用编辑器,比如vi,编辑配置文件/etc/bind/named.conf

加入如下内容

zone "https://www.doczj.com/doc/ac6608420.html," {

type master; //定义此区为主服务器

file "/etc/bind/db.mydebian"; 指定区资源文件的位置 };

zone "102.168.192.in-addr.arpa" {

type master; //定义此区为主服务器

file "/etc/bind/db.192"; //指定区资源文件的位置

};

c. 创建区资源文件:

创建区资源文件/etc/bind/db.mydebian内容如下

;

; BIND data file for local loopback interface

;

$TTL 604800

$ORIGIN https://www.doczj.com/doc/ac6608420.html,.

@ IN SOA https://www.doczj.com/doc/ac6608420.html,. https://www.doczj.com/doc/ac6608420.html,. (

2006080401 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL ;

IN NS ns

IN MX 0 https://www.doczj.com/doc/ac6608420.html,.

@ IN A 192.168.102.47

ns IN A 192.168.102.47

www IN A 192.168.102.47

webserver IN CNAME www

mail IN A 192.168.102.47

ftp IN A 192.168.102.48

ns2 IN A 192.168.102.48

ns3 IN A 192.168.102.49

第一行是TTL设定,生存时间记录字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。这里定义为604800秒,也就是1周.

第二行是$ORIGIN设定,说明下面的记录出自何处.请您加倍留意最后的一个小

小数点"."

然后,第三行,是一个 SOA 记录的设定,在这里我们看到一个特殊字符 @ ,它就是 ORIGIN 的意思,也就是刚刚所定义的$ ORIGIN https://www.doczj.com/doc/ac6608420.html,. 的内容,您可以写成 https://www.doczj.com/doc/ac6608420.html,. 也可以用 @ 来代替。

假如这个文件前面没有定义 $ ORIGIN 的话, 那這个 @ 的值就以 named.conf 里的 zone .

接着 SOA后面,指定了这个区域的授权主机和管理者的信箱,这里分别是"https://www.doczj.com/doc/ac6608420.html,." 和"https://www.doczj.com/doc/ac6608420.html,."。我们平时使用的信箱通常是“user@host”这样的格式,但因为@在 DNS 记录中是个保留字符,所以在 SOA 中就用“.”来代替了@。目前这个信箱是 "root@https://www.doczj.com/doc/ac6608420.html,."。

接下来的SOA 设置,是被括在“( )”之间的 5 组数字,主要作为和 slave 服务器同步 DNS 资料所使用的资料:

Serial:其格式通常会是“年月日+修改次序”(但也不一定如此,您自己能够记得就行)。当 slave 要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值“大”,就进行更新,否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字!

Refresh:这里是是告诉 slave 要隔多久要进行资料同步(是否同步要看 Serial 的比较结果)。

Retry:如果 slave 在进行更新失败后,要隔多久再进行重试。

Expire:这是记录逾期时间:当 slave 一直未能成功与 master 取得联系,那到这里就放弃 retry,同时这里的资料也将标识为过期(

expired )。

Minimum:这是最小默认 TTL 值,如果您在前面没有用“$TTL”来定义,就会以此值为准。

请注意:SOA 记录中这对“ ( ) ”符号之第一个“ (”括号一定要和 SOA 写在同一行,而不能用 Enter 断行到下一行去,而且其左边最好有一个空格键或tab 建。而最后一个“ )”括号也不能写在注解符号“ ;”的右边。置 DNS 的 RR 记录档,其格式要求非常严格,我们丝毫不能掉以轻心。比方说:如果句子不是以空格键、Tab 键、或注解符号 ( ; )开头,也不在 SOA 的“ ( ) ”之内,则表示要定义一个“新记录项(Entry) ”;如果句子是以空格键或 tab 键开始的话,其设置被视为上一个“记录项”的内容。所以,如果您要为“同一个记录项”定义多个记录设置,而不想重复打字,您倒可以偷懒:在接着它的后面几行用空白或 Tab 来缩排就可以了。

NS表明负责https://www.doczj.com/doc/ac6608420.html,.这个域的Name Server是https://www.doczj.com/doc/ac6608420.html,这台主机MX记录标明发往https://www.doczj.com/doc/ac6608420.html,域的邮件由https://www.doczj.com/doc/ac6608420.html,这台服务器接收A记录标明了IP地址和域名之间的对应关系

接下来创建该区的反向映射资源文件

/etc/bind/db.192内容如下:

;

; BIND reverse data file for local loopback interface

;

$TTL 604800

@ IN SOA https://www.doczj.com/doc/ac6608420.html,. https://www.doczj.com/doc/ac6608420.html,. (

2006080401 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL ;

@ IN NS https://www.doczj.com/doc/ac6608420.html,.

47 IN PTR https://www.doczj.com/doc/ac6608420.html,.

47 IN PTR https://www.doczj.com/doc/ac6608420.html,.

47 IN PTR https://www.doczj.com/doc/ac6608420.html,.

48 IN PTR https://www.doczj.com/doc/ac6608420.html,.

48 IN PTR https://www.doczj.com/doc/ac6608420.html,.

49 IN PTR https://www.doczj.com/doc/ac6608420.html,.

其中PTR记录用来解析IP地址对应的域名

d. 重启DNS服务

/etc/init.d/bind9 restart

此时查看系统日志,可了解BIND的启动情况,比如如下输出,则说明引导正常 tonybox:~# tail /var/log/syslog

Aug 14 08:36:45 localhost named[2792]: zone 127.in-addr.arpa/IN: loaded serial 1

Aug 14 08:36:45 localhost named[2792]: zone

102.168.192.in-addr.arpa/IN: loaded serial 2006080801

Aug 14 08:36:45 localhost named[2792]: zone 255.in-addr.arpa/IN: loaded serial 1

Aug 14 08:36:45 localhost named[2792]: zone localhost/IN: loaded serial 1

Aug 14 08:36:45 localhost named[2792]: zone https://www.doczj.com/doc/ac6608420.html,/IN: loaded serial 2006080801

Aug 14 08:36:45 localhost named[2792]: running

Aug 14 08:36:45 localhost named[2792]: zone https://www.doczj.com/doc/ac6608420.html,/IN: sending notifies (serial 2006080801)

Aug 14 08:36:45 localhost named[2792]: zone

102.168.192.in-addr.arpa/IN: sending notifies (serial 2006080801)

Aug 14 08:36:45 localhost named[2792]: client

192.168.102.47#1030: received notify for zone 'https://www.doczj.com/doc/ac6608420.html,'

Aug 14 08:36:45 localhost named[2792]: client

192.168.102.47#1030: received notify for zone

'102.168.192.in-addr.arpa'

e. 在客户机上的设置

# cat /etc/resolv.conf

search https://www.doczj.com/doc/ac6608420.html,

nameserver 192.168.102.47

f. 测试:

使用nslookup 测试

tonybox2:~# nslookup

> set type=any

> https://www.doczj.com/doc/ac6608420.html,

Server: 192.168.102.47

Address: 192.168.102.47#53

https://www.doczj.com/doc/ac6608420.html,

origin = https://www.doczj.com/doc/ac6608420.html,

mail addr = https://www.doczj.com/doc/ac6608420.html,

serial = 2006080801

refresh = 604800

retry = 86400

expire = 2419200

minimum = 604800

https://www.doczj.com/doc/ac6608420.html, nameserver = https://www.doczj.com/doc/ac6608420.html,.

https://www.doczj.com/doc/ac6608420.html, mail exchanger = 0 https://www.doczj.com/doc/ac6608420.html,.

Name: https://www.doczj.com/doc/ac6608420.html,

Address: 192.168.102.47

使用dig测试

tonybox2:~# dig @192.168.102.47 https://www.doczj.com/doc/ac6608420.html,

; <<>> DiG 9.3.2 <<>> @192.168.102.47 https://www.doczj.com/doc/ac6608420.html,

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41793 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;https://www.doczj.com/doc/ac6608420.html,. IN A

;; ANSWER SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; AUTHORITY SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN NS

https://www.doczj.com/doc/ac6608420.html,.

;; ADDITIONAL SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; Query time: 31 msec

;; SERVER: 192.168.102.47#53(192.168.102.47)

;; WHEN: Mon Aug 14 09:16:27 2006

;; MSG SIZE rcvd: 79

tonybox2:~# dig @192.168.102.47 https://www.doczj.com/doc/ac6608420.html,

; <<>> DiG 9.3.2 <<>> @192.168.102.47 https://www.doczj.com/doc/ac6608420.html,

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63890 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;https://www.doczj.com/doc/ac6608420.html,. IN A

;; ANSWER SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.48

;; AUTHORITY SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN NS

https://www.doczj.com/doc/ac6608420.html,.

;; ADDITIONAL SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; Query time: 22 msec

;; SERVER: 192.168.102.47#53(192.168.102.47)

;; WHEN: Mon Aug 14 09:16:41 2006

;; MSG SIZE rcvd: 83

反向查询

tonybox2:~# dig @192.168.102.47 -x 192.168.102.47

; <<>> DiG 9.3.2 <<>> @192.168.102.47 -x 192.168.102.47

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21885

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;47.102.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:

47.102.168.192.in-addr.arpa. 604800 IN PTR

https://www.doczj.com/doc/ac6608420.html,.

47.102.168.192.in-addr.arpa. 604800 IN PTR

https://www.doczj.com/doc/ac6608420.html,.

47.102.168.192.in-addr.arpa. 604800 IN PTR https://www.doczj.com/doc/ac6608420.html,.

;; AUTHORITY SECTION:

102.168.192.in-addr.arpa. 604800 IN NS https://www.doczj.com/doc/ac6608420.html,.

;; ADDITIONAL SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; Query time: 33 msec

;; SERVER: 192.168.102.47#53(192.168.102.47)

;; WHEN: Mon Aug 14 09:17:00 2006

;; MSG SIZE rcvd: 138

3.6 纯缓存域名服务器

192.168.102.48 为我们的dns 缓存服务器,首先, 在在192.168.102.48 机器上安全bind9, 在配置前我们用dig 进行测试

tonybox2:/etc/bind# dig @192.168.102.48 https://www.doczj.com/doc/ac6608420.html,

; <<>> DiG 9.3.2 <<>> @192.168.102.48 https://www.doczj.com/doc/ac6608420.html,

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 34137

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;https://www.doczj.com/doc/ac6608420.html,. IN A

;; Query time: 1844 msec

;; SERVER: 192.168.102.48#53(192.168.102.48)

;; WHEN: Tue Aug 8 12:05:17 2006

;; MSG SIZE rcvd: 34

修改named.conf.options文件

tonybox2:/etc/bind# cat named.conf.options

options {

directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want

// to talk to, you might need to uncomment the

query-source

// directive below. Previous versions of BIND always asked

// questions using port 53, but BIND 8.1 and later use an unprivileged

// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable

// nameservers, you probably want to use them as forwarders.

// Uncomment the following block, and insert the addresses replacing

// the all-0's placeholder.

forwarders {

192.168.102.47; //主域名服务器的IP地址

};

auth-nxdomain no; # conform to RFC1035

};

然后再进行测试

tonybox2:/etc/bind# dig @192.168.102.48 https://www.doczj.com/doc/ac6608420.html,

; <<>> DiG 9.3.2 <<>> @192.168.102.48 https://www.doczj.com/doc/ac6608420.html,

; (1 server found)

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54332

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:

;https://www.doczj.com/doc/ac6608420.html,. IN A

;; ANSWER SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; AUTHORITY SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN NS https://www.doczj.com/doc/ac6608420.html,.

;; ADDITIONAL SECTION:

https://www.doczj.com/doc/ac6608420.html,. 604800 IN A

192.168.102.47

;; Query time: 44 msec

;; SERVER: 192.168.102.48#53(192.168.102.48)

;; WHEN: Tue Aug 8 12:05:47 2006

;; MSG SIZE rcvd: 80

所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。

我们知道,当DNS服务器接到客户端主机的查询请求时,首先会检查这个查询是否属于本机管辖,否则将转向 "." zone 再逐级的查询下去,最后再把查询结果告诉客户端。

在这个过程之中,DNS服务器还会将查询到的结果存放到缓存中。只要缓存中的TTL 没过期,在下次遇到同样查询的时候,就可以直接将结果响应给客户端,而无需再重复上次的查询流程。

如果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。但无论这个结果是自己直接查询得来的,还是 forwarder 送回来的,DNS服务器都会保存一份数据在缓存中。

这样,以后的相同查询就快多了,这对于DNS所服务的客户端而言查询效率会提高很多。

/var/named/named.ca

dig @https://www.doczj.com/doc/ac6608420.html, . ns > /var/named/named.ca

3.7 辅助域名服务器

a. 192.168.102.49 为我们的dns 缓存服务器,首先, 在在192.168.102.49 机器上安全bind9,

b. 在主配置文件/etc/named.conf中加入如下内容:

zone "https://www.doczj.com/doc/ac6608420.html," {

type slave;

file "/etc/bind/slaves/db.mydebian";

masters {192.168.102.47;};

};

zone "102.168.192.in-addr.arpa" {

type slave;

file "/etc/bind/slaves/db.192";

masters {192.168.102.47;};

};

type后面的值已经成为slave; 表示定义的是辅助域名服务器

file后面也可以是别的文件名不必与主域DNS服务器的设置一样

masters后为主域DNS服务器的IP地址,可以是多个IP,型如

masters {ip1;ip2;ip3;};

c. 创建/etc/bind/slaves/目录

tonybox2:/etc/bind# mkdir slaves

tonybox2:/etc/bind# chown bind.bind slaves

d. 重启dns服务

tonybox2:/etc/bind/slaves# /etc/init.d/bind9 restart

named进程第一次启动时,辅助域名服务器就下载主域名服务器的信息;辅助域名服务器根据主域名服务器的对应SOA记录规定的刷新时间间隔,去主域名服务器查询相关信息。

tonybox2:/etc/bind/slaves# ls -l

total 8

-rw-r--r-- 1 bind bind 410 2006-08-08 12:23 db.192

-rw-r--r-- 1 bind bind 430 2006-08-08 12:23 db.mydebian

查看 /etc/bind/slaves 目录,我门会发现已经从主域名服务器获取了相应的资源文件

如果用户bind对于/etc/bind/slaves目录没有写权限,则查看

/var/log/syslog 会出现如下类似错误:

tonybox:~# tail /var/log/syslog

Aug 8 12:30:09 tonybox2 named[3849]: zone https://www.doczj.com/doc/ac6608420.html,/IN: Transfer started.

Aug 8 12:30:09 tonybox2 named[3849]: transfer of

'https://www.doczj.com/doc/ac6608420.html,/IN' from 192.168.102.47#53: connected using

192.168.102.15#1075

Aug 8 12:30:09 tonybox2 named[3849]: dumping master file:

/etc/bind/tmp-VHTxU6CT5n: open: permission denied

Aug 8 12:30:09 tonybox2 named[3849]: transfer of

'https://www.doczj.com/doc/ac6608420.html,/IN' from 192.168.102.47#53: failed while receiving responses: permission denied

Aug 8 12:30:09 tonybox2 named[3849]: transfer of

'https://www.doczj.com/doc/ac6608420.html,/IN' from 192.168.102.47#53: end of transfer

Aug 8 12:30:10 tonybox2 named[3849]: zone

102.168.192.in-addr.arpa/IN: Transfer started.

Aug 8 12:30:10 tonybox2 named[3849]: transfer of

'102.168.192.in-addr.arpa/IN' from 192.168.102.47#53: connected using 192.168.102.15#1076

Aug 8 12:30:10 tonybox2 named[3849]: dumping master file:

/etc/bind/tmp-dxbiD1JtTK: open: permission denied

Aug 8 12:30:10 tonybox2 named[3849]: transfer of

'102.168.192.in-addr.arpa/IN' from 192.168.102.47#53: failed while receiving responses: permission denied

Aug 8 12:30:10 tonybox2 named[3849]: transfer of

'102.168.192.in-addr.arpa/IN' from 192.168.102.47#53: end of transfer

[tool]BIND 9 配置语法简介

BIND 9 配置语法简介/etc/bind/named.conf 下面列出/etc/bind/named.conf 中使用的常用配置语句。named.conf 中使用的常用配置语句 acl 定义访问控制列表,参考acl controls 定义rndc 命令使用的控制通道,若省略此句,则只允许经过rndc.key 认证的127.0.0.1 的rndc 控制,参考rndc include 将其他文件包含到本配置文件当中 key 定义用于TSIG 的授权密钥 logging 定义日志的记录规范,参考BIND 9 的高级配置的“BIND 日志部分” lwres 将named 同时配置成一个轻量级的解析器 options 定义全局配置选项 trusted-keys 为服务器定义DNSSEC 加密密钥 server 设置每个服务器的特有的选项 view 定义域名空间的一个视图,参考BIND 9 的高级配置的“View 语句部分” zone 定义一个区声明 ?Ubuntu 将options 语句分离放置于/etc/bind/named.conf.options 文件中。 ?Ubuntu 将本机解析的权威区的声明语句zone 放置于/etc/bind/named.conf.local 文件中。 此文件可以使用三种风格的注释: ?/* C 语言风格的注释*/ ?// C++ 语言风格的注释 ?# Shell 语言风格的注释 下面对常用的语句作进一步的说明。 include include 语句的功能为:将指定的文件引入named.conf 主配置文件。语法为: include "path"; ?建议使用绝对路径

Windows下使用BIND搭建本地DNS服务器

Networking - Windows下使用BIND搭建本地DNS服务器(2012-07-06 11:10:35) 标签: 杂谈 1. 下载BIND安装包: BIND9.9.1-P1.zip 2. 安装BIND 9.9.1: 路径、账户名都不需要改变,设置密码后Install安装。 3. 设置安全属性: 【Windows菜单栏】->【工具】->【文件夹选项】->【查看】->【取消勾选:使用简单文件共享(推荐)】->【确定】 4. 授权完全控制:

对C:\WINDOWS\system32\dns目录授权named账户的完全控制: 【右键:C:\WINDOWS\system32\dns目录】->【属性】->【标签:安全】->【添加】->【查找位置:PC-201111071507】->【输入对象名称来选择:PC-201111071507\named】->【检查名称】->【确定】->【选择:named(PC-201111071507\named)】->【勾选:“完全控制”等除了“特别的权限”的所有其他权限的允许】->【确定】 5. 添加环境变量: 将目录C:\WINDOWS\system32\dns\bin到系统环境变量Path的末尾(无需详述)。 6. 执行命令: 在C:\WINDOWS\system32\dns\etc目录下首先依次执行如下命令: rndc-confgen -a rndc-confgen > rndc.conf 将依次得到文件:rndc.key和rndc.conf 7. 下载named.root文件: 打开https://www.doczj.com/doc/ac6608420.html,/zones/named.root链接,复制所有内容保存为文件named.root,存放在C:\WINDOWS\system32\dns\etc目录下。 文件内容如下: ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC ; under anonymous FTP as ; file /domain/named.cache ; on server https://www.doczj.com/doc/ac6608420.html, ; -OR- https://www.doczj.com/doc/ac6608420.html, ; ; last update: Jun 8, 2011 ; related version of root zone: 2011060800 ; ; formerly https://www.doczj.com/doc/ac6608420.html, ; . 3600000 IN NS https://www.doczj.com/doc/ac6608420.html,. https://www.doczj.com/doc/ac6608420.html,. 3600000 A 198.41.0.4 https://www.doczj.com/doc/ac6608420.html,. 3600000 AAAA 2001:503:BA3E::2:30 ; ; FORMERLY https://www.doczj.com/doc/ac6608420.html, ; . 3600000 NS https://www.doczj.com/doc/ac6608420.html,.

最新Linux服务器搭建之九:DNS服务器bind9

L i n u x服务器搭建之九:D N S服务器 b i n d9

Linux服务器搭建之九:DNS服务器(bind9) Linux操作系统平台:Xubuntu 账户:root 主要软件包:bind9 bind9服务器搭建流程: 0.【apt-get install bind9】安装bind9软件包: 1.【/etc/】目录下有个bind目录,bind9的文件配置目录: 2.【/etc/bind】目录里的配置文件: 3.vim编辑named.conf.local文件,在里面修改信息为下图那样:(配置域名文件)

(原来有个模子的,直接修改即可,https://www.doczj.com/doc/ac6608420.html,是我即将解析的域名,你可自己想一个新的) 4.【cp db.local https://www.doczj.com/doc/ac6608420.html,】将文件db.local复制为 https://www.doczj.com/doc/ac6608420.html,: 5.vim编辑cat https://www.doczj.com/doc/ac6608420.html,文件,在原先的模子上修改为下面那样即可:(配置解析文件) (主要修改了:[1]https://www.doczj.com/doc/ac6608420.html,,[2]192.168.170.184(本机IP),其他的基本默认了)

6.【service bind9 start】启动bind9服务器:(忘记截图了)还是【nslookup】命令查询https://www.doczj.com/doc/ac6608420.html,域名是否解析成功:

刚才解析的https://www.doczj.com/doc/ac6608420.html,和现在解析的https://www.doczj.com/doc/ac6608420.html,在同一个IP上,这样的话可以实现一机多站了,节省网站服务器开支。 (还有一种常见的DNS域名解析服务器搭建是Redhat平台上的,由于那个软件有些过时了,配置文件非常麻烦,我就选择Xubuntu平台进行DNS搭建了)

编译安装DNS-bind-9.9.0初始化设置

编译安装DNS-bind-9.9.0初始化设置 编译安装DNS-bind-9.9.0初始化设置 操作系统是CentOS-6.2-i386-minimal.iso [root@bind9 ~]# uname -a Linux bind9.9 2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux bind9.9.0的编译安装成败就在此一举了,继续看看吧 一、要准备好bind-9.9.0的源代码包,放到root目录下,一般是bind-9.9.0.tar.gz.通过命令:[root@bind9 ~]# tar xvf bind-9.9.0.tar.gz 解压并归档后有个目录:bind-9.9.0 [root@bind9 ~]# cd bind-9.9.0 [root@bind9 bind-9.9.0]# ./configure --prefix=/usr/local/named checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking whether make sets $(MAKE)... no checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/root/bind-9.9.0': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details [root@bind9 bind-9.9.0]# 提示没有安装gcc [root@bind9 bind-9.9.0]# yum install gcc [root@bind9 bind-9.9.0]# ./configure --prefix=/usr/local/named checking for OpenSSL library... configure: error: OpenSSL was not found in any of /usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw; use --with-openssl=/path If you don't want OpenSSL, use --without-openssl [root@bind9 bind-9.9.0]# 提示没有OpenSSL [root@bind9 bind-9.9.0]# yum install openssl [root@bind9 bind-9.9.0]# ./configure --prefix=/usr/local/named checking for OpenSSL library... configure: error: OpenSSL was not found in any of /usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw; use --with-openssl=/path If you don't want OpenSSL, use --without-openssl [root@bind9 bind-9.9.0]# 安装完还是提示Openssl,还的安装如下包 [root@bind9 bind-9.9.0]# yum install openssl-devel [root@bind9 bind-9.9.0]# ./configure --prefix=/usr/local/named

Solaris下用Bind安装和配置DNS

Solaris下用Bind安装和配置DNS 一、DNS基础 DNS:Domain Name System,域名解析服务器,它在互联网的作用是把域名转换成为网络可以识别的ip地址。 BIND:Berkeley Internet Name Domain,是unix中DNS协议用的最多的一个实现。 如https://www.doczj.com/doc/ac6608420.html,,blog是一四级域名,sina是三级域名,com是二级域名,cn是顶级域名。一完整域名最多可以是256个字符,各级别域名最多63个字符。 DNS使用https://www.doczj.com/doc/ac6608420.html,d进程,如果/etc/named.conf存在,系统启动时会开启https://www.doczj.com/doc/ac6608420.html,d进程并读取 /etc/named.conf文件,https://www.doczj.com/doc/ac6608420.html,d其实就是/usr/sbin/named的一个链接。 名字到地址的查找称为正向映射;地址到名字的查找称为反向映射。 二、DNS服务器安装配置 以下都为Solaris平台下用root用户操作,不论你使用哪个发行版本的unix,DNS的设置与unix的关系并没有太大的关系。 1、安装BIND,当前Release版本是bind-9.4.2.tar.gz 为了方便用于其他操作系统,我们还是从源代码包方式安装。首先从ISC公司的主页 ( https://www.doczj.com/doc/ac6608420.html,/index.pl?/sw/bind/index.php )下软件包。 解压: # pwd /opt/wacos/encle # gunzip bind-9.4.2.tar.gz # tar -xvf bind-9.4.2.tar 配置编译并安装,BIND正常安装在/usr/local目录下,但可以调整通过--prefix参数设置,本例不用IPv6,启动文件最后会安装在/usr/local/sbin里: # cd bind-9.4.2 # ./configure --prefix=/usr/local --sysconfdir=/etc --disable-ipv6 # make # make install 安装的时间会比较久,安装完后看一看现版本是多少: # /usr/local/sbin/named -v 到此Bind已经安装完成了。 2、生成RNDC(用于控制DNS服务器,Bind9有)配置文件/etc/rndc.conf Bind9规定,如果要使用rndc来控制dns,必须先生成验证文件 rndc.conf 和密锁。rndc.conf文件的内容,可用rndc-confgen命令生成所需内容。 # /usr/local/sbin/rndc-confgen > /etc/rndc.conf 如果机器上没有random产生器,这种情况下系统应该让你输入一些无关字母来替代/dev/random的功能。 ------------------------------------------ You must use the keyboard to create entropy, since your system is lacking /dev/random (or equivalent) start typing: ........................... stop typing. # Start of rndc.conf ... # End of named.conf ------------------------------------------

利用Bind9搭建XP下DNS服务器

利用Bind9搭建XP下DNS服务器 前言: 在测试设备或者在安装调试设备的过程中,经常要用到DNS服务器以测试设备的DNS 功能,对于具有windows server或者Linux服务器的环境来说,可以使用现成的DNS服务器,但对于个人测试需要,或者有经常需要改动DNS条目的环境中,搭建一个DNS服务器尤为必要,但一般的DNS服务都是集成在Server版本的系统中,而大家一般都使用个人版操作系统,所以这里给大家介绍一个能安装在WindowsXP或者Window7系统中的DNS服务——功能强大的开源软件:BIND。 环境准备: 1、系统:windows xp/windows 7/Windows server series 2、C++2005运行库:Microsoft Visual C++ 2005 Redistributable 下载地址:https://www.doczj.com/doc/ac6608420.html,/soft/softdown.asp?softid=49151 3、Bind9主程序 4、etc配置目录 安装步骤 1、安装解压BIND9.5.2rc1.zip,双击BINDInstall.exe,按照图示安装,帐户密码可随意。

2、解压etc etc是BIND的配置文件,这里已经做了一些相关的配置,直接解压就可以用了。解压etc.zip到C:\WINDOWS\system32\dns\etc,覆盖掉etc目录 3、配置服务。 打开C:\WINDOWS\system32\dns\etc\named.conf,根据需要修改该行(注意空格和格式,错一不可,注释用双斜线//): listen-on port 53 { 127.0.0.1; 192.168.0.0/16; 169.254.0.0/16; }; 上面这行表示端口53在127.0.0.1上、本地网卡IP上属于192.168.0.0/255.255.0.0和169.254.0.0/255.255.0.0上监听 4、打开服务。开始—运行—services.msc,找到ISC BIND,双击,并按如下设置(配置完就可以启动该服务了,确认下启动类型为自动:)

Bind9做智能DNS

Bind9做智能DNS 中国的南北网络问题,是许多做网站的人的心病除了使用双通或者多通机房以外,还可以通过多台镜像服务器的方法来提高用户的访问速度 但是,如果使用的双通机房并不是单IP的,或者使用多台镜像的做法,就会面临多个不同的服务器IP的问题 最早的时候,很多镜像服务器都是使用不同的域名的,比如说www1和www2,或者www和cnc 这样的做法,对用户相当不友好,而且不方便推广,比如说,你要告诉朋友一个网站,还要问他是什么线路才能给网址吗,或者可能你还不知道这个网站有一个专为网通的线路所设置的镜像 用统一的域名,然后根据用户的线路自动判断引导到不同的镜像服务器,正是智能DNS的功用(智能DNS其实是CDN 的其中一部分,是最前端的部分) 现在还是有一些地方使用多域名,比如说下载网站的下载镜像服务器,因为智能DNS有一定的缺陷(并不一定选择到正确的线路,下面说),也提供给用户自由选择线路的权利目前也有一些公司提供智能DNS解释服务,把你的域名NS 指到他们服务器,然后输入网通和电信服务器的IP就ok了也有一些公司提供比较完整的CDN服务,比如比较出名的

就是chinacache,不少中型网站是使用他们的服务 最初的bind是不支持通过来源选择不同的ip的,因此只能通过iptables的辅助来实现智能DNS,方法也很简单,在DNS 服务器上面启动两份bind,都不要用默认的端口,两份分别解析不同的线路,然后再用iptables将默认端口的DNS请求根据来源IP发送到不同的bind实例 这种方法缺点很明显,需要多个bind实例,如果需要更多的线路解释那就还要再开bind实例,另外iptables对来源的解释也会导致iptables太多规则 现在的bind支持了根据来源选择的功能,我不确定是不是bind9的新特性,不过bind9是重写过的,相比漏洞百出的bind8来说,稳定和安全很多,以下的配置以bind9为基础 我使用的是CentOS,由于bind服务没有其他服务(比如apache,squid)要求那么高,所以也没有必要自己编译一份,我是用过yum安装的,版本不是最新的稳定版 装好之后,可以用过/etc/init.d/named start成功启动服务 有一个文件named.conf出现在/etc下,就是bind的主config 文件,我们只要改动他 (我只说明智能DNS实现部分,其他的bind设置自行修改,呵呵) 另外一个小技巧,可以通过/usr/sbin/named -g -u named来启动bind,可以立刻看到输出信息,方便调试

BIND DNS配置详解

BIND DNS配置详解 前面所介绍的服务器服务大多是用在内部网络环境中的﹐不过﹐以现代的情况和未来的趋势来看﹐每个网络或多或少都需要Internet 联机以及向Internet 提供服务。从这一章开始﹐我们将为大家陆续介绍一些在Internet 环境中常用到的服务器之架设技巧。就算您目前还没真的需要架设Internet 相关的服务器﹐但许多企业的Intranet 环境中﹐也需要相类似的服务器来为企业内部网络提供服务。 前提条件 在众多Internet 服务器当中﹐有一种服务是所有服务的基础﹐就是DNS 服务。DNS 可以说是一个不容易弄清楚的概念﹐尤其是其运作原理。如果您看过“学习网络”中的“ DNS 协议”(我强烈建议您看看这篇文章﹗)﹐相信应该有一定概念了﹐否则﹐您在如下的阅读中可能难以理解﹐也浪费您的时间。 无论如何﹐在您进一步阅读下面文章之前﹐请您先确定能正确回答如下的问题﹕ 什么是DNS 的授权模式﹖是怎样进行的﹖ 请解释zone 和domain 的差别。 什么是DNS 正解和反解﹖ 什么是DNS 的查询模式﹖查询过程是怎样进行的﹖ 请解释DNS cache 的作用和它对查询流程的影响。 忠告﹕请不必急着知道怎样设定DNS﹐花点时间将DNS 的原理弄明白非常重要﹐尤其是授权模式和查询模式的正确理解。在日后的DNS 架设和管理中﹐是否能正确理解这些DNS 原理﹐往往是成败的关键所在﹗ 如果您在NT 或Win2K 下面设定过DNS 服务器﹐相信您会觉得在Linux 下面难多了。除了概念上要比较清楚外﹐另外对档案的关联也要有清晰的追踪能力﹐这对于进行debug 尤为重要。因为在Windows 系统上面﹐您的所有设定都透过图形界面进行﹐方便是方便﹐但也因为这个图形界面﹐限制了您的设定灵活性﹐同时也阻隔了您对DNS 系统的深入了解。当您完成了这章的学习﹐而且成功在Linux 架设出复杂的DNS 环境之后﹐欢迎您再回到Win2K 上尝试做同样的事情。或许﹐您就会认同我这里的观点了... 好了﹐闲话休提﹑言归正传﹐听百遍不如做一遍﹐那就让我们开始动手吧﹗ 探索NAMED 在Linux 上面﹐提供DNS 服务的套件是叫bind﹐但执行服务程序名称则是named 。请您确定系统上装有bind﹑bind-utils﹑以及caching-nameserver 这几个套件﹐同时用ntsysv 确定named 被选择为开机服务。 首先﹐让我们设定一个最重要的dns 设定档﹐它就是/etc/named.conf 。我将我自己的设定档案列出来﹐然后逐部份进行解释﹕ // generated by named-bootconf.pl

Bind9编译安装

Bind9 编译安装 一、准备 BIND9 源代码 https://www.doczj.com/doc/ac6608420.html,/index.pl 将最新的 BIND9 源代码包下载到 /usr/local/src 下。 二、编译安装 BIND9 # cd /usr/local/src # tar xzvf bind-9*.gz # cd bind-9* # ./configure \ --prefix=/usr/local/bind9 \ --enable-threads \ --enable-static \ --enable-ipv6=no 注:如果需要支持 IPv6 ,则将 --enable-ipv6=no 改为 --enable-ipv6=yes 。 # make # make install 三、配置 BIND9 环境 1. 建立 BIND9 需要的目录 (1) 配置文件目录: # mkdir /usr/local/bind9/etc (2) 域数据文件目录: # mkdir -p /usr/local/bind9/var/named (3) BIND9 运行时目录: # mkdir /usr/local/bind9/var/run (4) BIND9 日志目录 # mkdir /usr/local/bind9/var/logs

2. 创建 BIND9 系统文件: # touch /usr/local/bind9/var/run/named.pid # touch /usr/local/bind9/var/named_dump.db # touch /usr/local/bind9/var/run/named.stats 3. 下载最新的 named.ca 根 DNS 服务器数据文件 # cd /usr/local/bind9/var/named # wget ftp://https://www.doczj.com/doc/ac6608420.html,/domain/named.root # mv named.root named.ca 四、创建 BIND9 配置文件 1. 创建包含root server 和 locahost. 以及 https://www.doczj.com/doc/ac6608420.html,. 域的默认 named.conf 文件(见附带的 named.conf); # vi /usr/local/bind9/etc/named.conf 2. 创建 localhost. 域数据文件和反解文件(见附带的 localhost.zone、 localhost.rzone); # vi /usr/local/bind9/var/named/localhost.zone # vi /usr/local/bind9/var/named/localhost.rzone 3. 创建 https://www.doczj.com/doc/ac6608420.html,. 域数据文件和反解文件(见附带的 https://www.doczj.com/doc/ac6608420.html,.zone、localhost.rzone); # vi /usr/local/bind9/var/named/https://www.doczj.com/doc/ac6608420.html,.zone # vi /usr/local/bind9/var/named/https://www.doczj.com/doc/ac6608420.html,.rzone 五、配置 RNDC # /usr/local/bind9/sbin/rndc-confgen > /usr/local/bind9/etc/rndc.conf 打开刚刚创建的 rndc.conf ,查看 # End of rndc.conf 以下部分的注释信息, 按照说明对 named.conf 进行修改。 六、设置 BIND9 运行权限 # useradd named # chown -R named:named /usr/local/bind9/

bind9配置精讲

架设 DNS 前面所介绍的服务器服务大多是用在内部网络环境中的,不过,以现代的情况和未来的趋势来看,每个网络或多或少都需要 Internet 联机以及向 Internet 提供服务。从这一章开始,我们将为大家陆续介绍一些在 Internet 环境中常用到的服务器之架设技巧。就算您目前还没真的需要架设 Internet 相关的服务器,但许多企业的 Intranet 环境中,也需要相类似的服务器来为企业内部网络提供服务。 前提条件 在众多 Internet 服务器当中,有一种服务是所有服务的基础,就是 DNS 服务。DNS 可以说是一个不容易弄清楚的概念,尤其是其运作原理。如果您看过“学习网络”中的“ DNS 协议”(我强烈建议您看看这篇文章!),相信应该有一定概念了,否则,您在如下的阅读中可能难以理解,也浪费您的时间。 无论如何,在您进一步阅读下面文章之前,请您先确定能正确回答如下的问题: 什么是 DNS 的授权模式?是怎样进行的? 请解释 zone 和 domain 的差别。 什么是 DNS 正解和反解? 什么是 DNS 的查询模式?查询过程是怎样进行的? 请解释 DNS cache 的作用和它对查询流程的影响。 如果您未能从上面的联结网页找到答案,那我再推荐您多看一篇文章: https://www.doczj.com/doc/ac6608420.html,.tw/~tung/dns/dnsintro.html 忠告:请不必急着知道怎样设定 DNS,花点时间将 DNS 的原理弄明白非常重要,尤其是授权模式和查询模式的正确理解。在日后的 DNS 架设和管理中,是否能正确理解这些 DNS 原理,往往是成败的关键所在! 如果您在 NT 或 Win2K 下面设定过 DNS 服务器,相信您会觉得在 Linux 下面难多了。除了概念上要比较清楚外,另外对档案的关联也要有清晰的追踪能力,这对于进行 debug 尤为重要。因为在 Windows 系统上面,您的所有设定都透过图形界面进行,方便是方便,但也因为这个图形界面,限制了您的设定灵活性,同时也阻隔了您对 DNS 系统的深入了解。当您完成了这章的学习,而且成功在Linux 架设出复杂的 DNS 环境之后,欢迎您再回到 Win2K 上尝试做同样的事情。或许,您就会认同我这里的观点了...

bind9详解

BIND配置文件详解(二) 6.options语句 options语句的定义和使用: options语句用来设置可以被整个BIND使用的全局选项。这个语句在每个配置文件中只有一处。如果出现多个options语句,则第一个options的配置有效,并且会产生一个警告信息。 如果没有options语句,则每个选项使用缺省值。 options { [ version version_string; ] [ directory path_name; ] [ named-xfer path_name; ] [ tkey-domain domainname; ] [ tkey-dhkey key_name key_tag; ] [ dump-file path_name; ] [ memstatistics-file path_name; ] [ pid-file path_name; ] [ statistics-file path_name; ] [ zone-statistics yes_or_no; ] [ auth-nxdomain yes_or_no; ] [ deallocate-on-exit yes_or_no; ] [ dialup dialup_option; ] [ fake-iquery yes_or_no; ]

[ fetch-glue yes_or_no; ] [ has-old-clients yes_or_no; ] [ host-statistics yes_or_no; ] [ minimal-responses yes_or_no; ] [ multiple-cnames yes_or_no; ] [ notify yes_or_no | explicit; ] [ recursion yes_or_no; ] [ rfc2308-type1 yes_or_no; ] [ use-id-pool yes_or_no; ] [ maintain-ixfr-base yes_or_no; ] [ forward ( only | first ); ] [ forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ] [ check-names ( master | slave | response )( warn | fail | ignore ); ] [ allow-notify { address_match_list }; ] [ allow-query { address_match_list }; ] [ allow-transfer { address_match_list }; ] [ allow-recursion { address_match_list }; ] [ allow-v6-synthesis { address_match_list }; ] [ blackhole { address_match_list }; ] [ listen-on [ port ip_port ] { address_match_list }; ] [ listen-on-v6 [ port ip_port ] { address_match_list }; ] [ query-source [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ]

BIND域名解析软件安全配置规范参考

B I N D域名解析 软件安全配置规范 S p e c i f i c a t i o n f o r B I N D S o f t w a r e C o n f i g u r a t i o n U s e d i n C h i n a M o b i l e 版本号:1.0.0 ╳╳╳╳-╳╳-╳╳发布╳╳╳╳-╳╳-╳╳实施

目录 1概述 (1) 1.1适用范围 (1) 1.2内部适用性说明 (1) 1.3外部引用说明 (2) 1.4术语和定义 (2) 1.5符号和缩略语 (2) 2BIND域名解析软件安全配置要求 (3) 2.1记录安全事件到文件 (3) 2.2隐藏BIND版本信息 (4) 2.3禁止DNS域名递归查询 (4) 2.4增加查询ID的随机性 (5) 2.5限制域名查询 (5) 2.6限制域名递归查询 (6) 2.7指定动态DNS更新主机 (6) 2.8指定动态DNS更新主机 (7) 2.9指定不接受区域请求 (7) 2.10指定不接受区域请求 (8) 2.11定义ACL地址名 (9) 2.12控制管理接口 (10) 2.13防止DNS欺骗 (10) 2.14设置重试查询次数 (11) 2.15防止污染高速缓存(Cache) (12)

前言 本标准起草单位: 本标准解释单位: 本标准主要起草人:

1概述 1.1 适用范围 本规范适用于互联网使用BIND软件进行域名解析的DNS系统。本规范明确了BIND 域名解析软件安全配置方面的基本要求。 BIND:全称是Berkeley Internet Name Domain(伯克利因特网名字系统)。官方网址:https://www.doczj.com/doc/ac6608420.html,/。它主要有3个版本:BIND 4,BIND 8,BIND9。BIND没有5,6,7这几个版本,一下就跳到8了,在BIND8以后的版本里融合了许多提高效率,稳定性和安全性的技术。 BIND安全选项非常多,应针对BIND服务软件进行安全配置,充分利用BIND自身已经实现的保护功能加强BIND安全性,从而能抵御目前已知的BIND安全漏洞,并尽可能使潜在的安全漏洞对DNS服务造成最小的影响。 BIND安全配置可完成针对限制域传输、限制查询、防止DNS欺骗、设置重试查询次数、修改BIND的版本信息等Bind系统安全配置。本规范基于BIND9.x.x以上的版本提供了安全配置操作方法。 1.2 内部适用性说明 本规范是在《设备通用设备安全功能和配置规范》(以下简称《通用规范》)各项 设备配置要求的基础上,提出的BIND域名解析软件安全配置规范。本规范新增的安全 配置要求,如下: 安全要求-设备-通用-BIND-配置-1 安全要求-设备-通用-BIND-配置-2 安全要求-设备-通用-BIND-配置-3 安全要求-设备-通用-BIND-配置-4 安全要求-设备-通用-BIND-配置-5 安全要求-设备-通用-BIND-配置-6 安全要求-设备-通用-BIND-配置-7 安全要求-设备-通用-BIND-配置-8 安全要求-设备-通用-BIND-配置-9 安全要求-设备-通用-BIND-配置-10 安全要求-设备-通用-BIND-配置-11

BIND9 的安装与配置

3. BIND9 的安装与配置 3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,包括 ?域名服务器 (named) ?DNS解析库函数 ?DNS服务器运行调试所用的工具 是一款开放源码的DNS服务器软件,由美国加州大学Berkeley分校开发和维护的, 按照ISC的调查报告,BIND是世界上使用最多最广泛的域名服务系统。不论你的邮件服务器,WEB服务器或者其他的services如何的安全可靠,DNS的故障会给你带来用户根本无法访问这些服务。 BIND,也是我们常说的named,由于多数网络应用程序使用其功能,所以在很多BIND的弱点及时被发现。主要分为三个版本: v4 1998年多数UNIX捆绑的是BIND4,已经被多数厂商抛弃了,除了OpenBSD 还在使用。OpenBSD核心人为BIND8过于复杂和不安全,所以继续使用 BIND4。这样一来BIND8/9的很多优点都不包括在v4中。 v8 就是如今使用最多最广的版本,其详细内容可以参阅BIND 8+ 域名服务器安全增强 v9 最新版本的BIND,全部重新写过,免费(但是由商业公司资助),也添加了许多新的功能(但是安全上也可能有更多的问题)。BIND9在2000 年十月份推出,现在稳定版本是9.3.2。 3.2 软件的相关资源 官方网站:https://www.doczj.com/doc/ac6608420.html,/ 最新版本: 9.3.2 https://www.doczj.com/doc/ac6608420.html,/sw/bind/bind9.3.php#download 帮助文档:https://www.doczj.com/doc/ac6608420.html,/sw/bind/ 配置文件样例:https://www.doczj.com/doc/ac6608420.html,/bind.html FAQ: https://www.doczj.com/doc/ac6608420.html,/getOpenSourceResource.php?id=6 3.3 配置环境 环境:GNU/Linux Debian/testing Linux 2.6.8-2-386 版本:bind9 9.3.2-2 测试域名:https://www.doczj.com/doc/ac6608420.html, 测试ip: 192.168.102.47 主域名服务器 192.168.102.48 纯缓存域名服务器

Windows XP 上安装 Bind9 DNS 服务器笔记

Windows XP 上安装Bind9 DNS 服务器笔记 文章来源: https://www.doczj.com/doc/ac6608420.html,/windows-xp-%E4%B8%8A%E5%AE%89%E8%A3%85-bind9-dns-%E6%9 C%8D%E5%8A%A1%E5%99%A8%E7%AC%94%E8%AE%B0.html 1,从https://https://www.doczj.com/doc/ac6608420.html,/downloadables/11下载得到BIND9.6.0-P1.zip 2,解压,运行BindInstall.exe ,安装位置不变,服务的账户名为named 不变,密码随便设置,我设置的是123456 。下面的三个选项勾选前两个即可。点击Install,如图: Bind9 安装界面 3,开Cmd,转到C:\Windows\system32\dns\bin 目录下,运行rndc-confgen.exe 产生默认的配置文件 >rndc-confgen.exe >temp.conf >cat temp.conf

# Start of rndc.conf key “rndc-key” { algorithm hmac-md5; secret “GnEDdo4iFTiPxEfvQJYE/Q==”; }; options { default-key “rndc-key”; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key “rn dc-key” { # algorithm hmac-md5; # secret “GnEDdo4iFTiPxEfvQJYE/Q==”; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { “rndc-key”; }; # }; # End of named.conf 4,在C:\Windows\System32\dns\etc\ 目录下建立rndc.conf文件,把刚才生成的temp.conf的前半部分复制到里面 >cat rndc.conf # Start of rndc.conf key “rndc-key” { algorithm hmac-md5; secret “khlj1YwaAoj7PuH+zFpkJA==”; }; options { default-key “rndc-key”; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf

freebsd 7.0 安装配置dns服务-bind9.5.0

freebsd 7.0 安装配置dns服务-bind9.5.0 这次在Freebsd7.0上安装并成功运行了bind9.5, 感觉还不错.. 以下是我的安装及配置方案.. 1: 安装bind. 你可以通过ports方式安装. 因为ports里面的是bind9.4.2,之前也装了一次,感觉还是用9.5的爽.嘻嘻.. ports方法很简单.. cd /usr/ports/dns/bind94 make install clean 我是自己编译安装的. 下载你要的文件bind-9.5.0.tar.gz tar -zxvf bind-9.5.0.tar.gz cd bind-9.5.0 ./configure --prefix=/usr/local/named95 --enable-threads --enable-largefile --enable-ipv6 # threads 支持多线程 # largefile 好像是支持大文件 # ipv6 支持ipv6 协议ip解析. # 具体参数说明,可以通过 ./configure --help make && make install 2:建立账户 因为之前我用ports方式安装过bind,所以已经帮我自动建立了bind账户. 所以建立账户这步我可以省略了. 如果你是第一次编译安装, 那为了安全,还是新建一个账户来启动bind服务. groupadd bind useradd -g bind -d /usr/local/named95 -s /sbin/nologin bind #新建bind账户,并绑定目录到bind的安装目录. 3: 配置 /usr/local/named95/sbin/rndc-confgen > /etc/rndc.conf #我的路径不同,不是默认的/sbin这里自己根据情况来修改. tail -10 /etc/rndc.conf|head -9|sed s/#\//g > /etc/named.conf #这里是通过rndc来加密bind的连接, 主要是在主副dns服务器,以及rndc连接的时候做加密用, #在安全方面做防护. 和ssh的key方式连接差不多意思. 建立log文件下面会用到. touch /var/log/named/dns_warning touch /var/log/named/dns_log chown bind:bind /var/log/named/dns_waring chown bind:bind /var/log/named/dns_log 这里提个醒,写这些文档的时候,注意不要遗漏了{} ;这几个符号,前后对应,我写的时候也吃了好几次亏. 以下是我的named.conf文件内容,仅作参考: key "rndc-key" { algorithm hmac-md5; secret "HA4Sdtp0QprQbSPH4UFy7g=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; acl "my-lan" {

相关主题
文本预览
相关文档 最新文档