当前位置:文档之家› Bind9编译安装

Bind9编译安装

Bind9编译安装
Bind9编译安装

Bind9 编译安装

一、准备 BIND9 源代码

https://www.doczj.com/doc/4217074425.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/4217074425.html,/domain/named.root

# mv named.root named.ca

四、创建 BIND9 配置文件

1. 创建包含root server 和 locahost. 以及 https://www.doczj.com/doc/4217074425.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/4217074425.html,. 域数据文件和反解文件(见附带的 https://www.doczj.com/doc/4217074425.html,.zone、localhost.rzone);

# vi /usr/local/bind9/var/named/https://www.doczj.com/doc/4217074425.html,.zone

# vi /usr/local/bind9/var/named/https://www.doczj.com/doc/4217074425.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/

# chmod 600 /usr/local/bind9/etc/*

# chmod 600 /usr/local/bind9/var/*

# chmod 600 /usr/local/bind9/logs/*

七、启动并检查 BIND9

# /usr/local/bind9/sbin/named -4 -c /usr/local/bind9/etc/named.conf -n X -u

named(其中 X 为服务器的 CPU 数量)

# /usr/local/bind9/sbin/rndc status

停止 BIND9

# /usr/local/bind9/sbin/rndc stop

附加信息(配置文件):

named.conf:

// Generated by Comsen-Nanu

options {

directory "/usr/local/bind9/var/named";

pid-file "/usr/local/bind9/var/run/named.pid";

dump-file "/usr/local/bind9/var/named_dump.db";

statistics-file "/usr/local/bind9/var/run/named.stats";

};

// Log

logging {

channel error_log {

file "/usr/local/bind9/var/logs/error.log" versions 10 size 32m;

severity warning;

print-time yes;

print-severity yes;

print-category yes;

};

channel query_log {

file "/usr/local/bind9/var/logs/query.log" versions 10 size 32m;

severity info;

print-time yes;

print-severity yes;

print-category yes;

};

category default { error_log; };

category queries { query_log; };

};

// RNDC

key "rndc-key" {

algorithm hmac-md5;

secret "FzWz75c8ejrACCDKV8ttoA==";

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

// Cacheing Only Name Server Config

zone "." IN {

type hint;

file "named.ca";

};

// localhost.

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; }; };

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

type master;

file "localhost.rzone";

allow-update { none; }; };

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

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

type master;

file "https://www.doczj.com/doc/4217074425.html,.zone";

allow-update { none; }; };

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

type master;

file "https://www.doczj.com/doc/4217074425.html,.rzone";

allow-update { none; }; };

rndc.conf:

key "rndc-key" {

algorithm hmac-md5;

secret "FzWz75c8ejrACCDKV8ttoA=="; };

options {

default-key "rndc-key";

default-server 127.0.0.1;

default-port 953;

};

localhost.zone:

$TTL 86400

$ORIGIN localhost.

@ IN SOA localhost. root.localhost. (

2006083100 ; Serial (YYMMDDSN)

1800 ; Refresh

300 ; Retry

3600 ; Expiry

300 ) ; Minimum

@ IN NS localhost.

@ IN A 127.0.0.1

localhost.rzone:

$TTL 86400

@ IN SOA localhost. root.localhost. (

2006083100 ; Serial (YYMMDDSN)

30M ; Refresh

5M ; Retry

1H ; Expire

5M ) ; Minimum

@ IN NS localhost.

1 IN PTR localhost.

https://www.doczj.com/doc/4217074425.html,.zone:

$TTL 600

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

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

2006083100 ; Serial (YYMMDDSN)

1800 ; Refresh

300 ; Retry

3600 ; Expiry

300 ) ; Minimum

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

@ IN A 10.0.0.97

ns1 IN A 10.0.0.97

www IN A 10.0.0.97

web IN CNAME www

mail IN MX 10.0.0.97

https://www.doczj.com/doc/4217074425.html,.rzone:

$TTL 600

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

2006083100 ; Serial (YYMMDDSN)

1800 ; Refresh

300 ; Retry

3600 ; Expire

300 ) ; Minimum

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

97 IN PTR https://www.doczj.com/doc/4217074425.html,.

bind9详解

ISC的bind一直以来基本上都是DNS的工业标准,不过BIND一直是漏洞不断,直到出了BIND9,isc的开发人员对bind9进行了重写,才相对好了一点.

BIND9的安装就不用多说了,这里使用最新版本9,.2.3,说白了也就是需要named这个可执行文件就可以了,其他的配置文件完全可以自己来写.如果需要进行服务的控制的话,则需要rndc这个文件了.named大约有4M多,strip一下也就1M多点,再裁减裁减完全可以做到400K的,做嵌入式的朋友也不妨考虑考虑这个了.

服务的启动与停止可以完全自己来写一个脚本来控制,启动的话先判断是否已经启动,pidof named,如果已经启动,则提示已经启动,否则执行named –c /etc/named.conf,停止的时候先判断是否已经启动,是的话则killproc named,否的话提示没有启动,具体可在网上查找.

下面重点来说说BIND9的新功能.

Named.conf是bind9的最先读取的一个文件,named支持如下语句:

Acl

Controls

Include

Key

Logging

Lwres

Options

Server

Trusted-keys

View

Zone

其中主要的是acl,controls,include,logging,key,options,view,zone其他的很少用到我们就来详细的对这些进行解释一下.

Acl用来对bind的访问进行限制,是一个全局的设置,前面配置的acl在整个bind中都适用,和路由器里面的access-list有同工之处,语法是

acl acl-name {

address_match_list

};

其中的address match list是一个地址列表,如”192.168.0.0/24;”,记住最后一定得有分号,有多个的话中间用分号格开,如192.168.0.0/32;192.168.1.0/24;

bind内置了4个acl分别是:

any(不是all) 对应所有的,也就是0.0.0.0/0.

none 对应为空.

localhost 对应本地机器.

localnets 对应本地网络.

Controls主要用于对bind进行控制,如:

key "rndc-key" {

algorithm hmac-md5;

secret "VkMaNHXfOiPQqcMVYJRyjQ==";

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

设置rndc控制的端口以及端口,keys用来设置控制的密钥,

include是一个非常有用的选项,如果需要写程序来读写bind的配置文件,这个将会用到,因为bind的配置文件很不规则,但是用了include后,就可以变的很规则,就和数据库一样了,功用和c语言里面的include一样。

Options是用于设置bind的一些选项,我们将重点介绍,BING9支持的选项如下: options {

coresize ;;

datasize ;;

deallocate-on-exit ;; // obsolete

directory ;;

dump-file ;;

fake-iquery ;; // obsolete

files ;;

has-old-clients ;; // obsolete

heartbeat-interval ;;

host-statistics ;; // not implemented

interface-interval ;;

listen-on [ port ; ] { ;; ... };

listen-on-v6 [ port ; ] { ;; ... };

match-mapped-addresses ;;

memstatistics-file ;; // not implemented

multiple-cnames ;; // obsolete

named-xfer ;; // obsolete

pid-file ;;

port ;;

random-device ;;

recursive-clients ;;

rrset-order { [ class ; ] [ type ; ] [ name

; ] ; ;; ... }; // not implemented

serial-queries ;; // obsolete

serial-query-rate ;;

stacksize ;;

statistics-file ;;

statistics-interval ;; // not yet implemented

tcp-clients ;;

tkey-dhkey ; ;;

tkey-gssapi-credential ;;

tkey-domain ;;

transfers-per-ns ;;

transfers-in ;;

transfers-out ;;

treat-cr-as-space ;; // obsolete

use-id-pool ;; // obsolete

use-ixfr ;;

version ;;

allow-recursion { ;; ... };

allow-v6-synthesis { ;; ... };

topology { ;; ... }; // not implemented

auth-nxdomain ;; // default changed

minimal-responses ;;

recursion ;;

provide-ixfr ;;

request-ixfr ;;

fetch-glue ;; // obsolete

rfc2308-type1 ;; // not yet implemented

additional-from-auth ;;

additional-from-cache ;;

query-source ;;

query-source-v6 ;;

cleaning-interval ;;

min-roots ;; // not implemented

lame-ttl ;;

max-ncache-ttl ;;

max-cache-ttl ;;

transfer-format ( many-answers | one-answer );

max-cache-size ;;

check-names ; ;; // not implemented

cache-file ;;

allow-query { ;; ... };

allow-transfer { ;; ... };

allow-update-forwarding { ;; ... };

allow-notify { ;; ... };

notify ;;

notify-source ( ; | * ) [ port ( ; | * ) ];

notify-source-v6 ( ; | * ) [ port ( ; | * ) ];

also-notify [ port ; ] { ( ; | ;

) [ port ; ]; ... };

dialup ;;

forward ( first | only );

forwarders [ port ; ] { ( ; | ; )

[ port ; ]; ... };

maintain-ixfr-base ;; // obsolete

max-ixfr-log-size ;; // obsolete

transfer-source ( ; | * ) [ port ( ; | * ) ];

transfer-source-v6 ( ; | * ) [ port ( ; | * ) ];

max-transfer-time-in ;;

max-transfer-time-out ;;

max-transfer-idle-in ;;

max-transfer-idle-out ;; max-retry-time ;;

min-retry-time ;;

max-refresh-time ;;

min-refresh-time ;;

sig-validity-interval ;;

zone-statistics ;;

};

obsolete是已经过时的选项,这里不用考虑, not yet implemented是尚未完成的选项,这里也不用考虑,下面详细介绍这里面的有用选项:(注意前面打”*”的为选项)

*blockhole 定义服务器不对查询进行反应的地址列表,也就是”黑名单”,比如说3721的ip段:218.244.44.0/24,当设置了黑名单后,对于这个段的请求查询,服务器将不会作出反应.

*directory 设置bind的数据文件的存放位置:如 directory “/var/named”.

*dump-file 设置当执行rndc dumpdb命令后的导出文件存放绝对路径,如果没有指定的话,缺省文件为named_dump.db,放在directory指定的目录下面.

*pid-file 设置bind的进程号pid文件.

*interface-interval 设置bind检查网卡变化的周期.

*forward 值有first和only两项, first则首先转发到"forwarders"中的服务器,然后自己查询,only则仅转发到 "转发服务器列表"中的服务器,不再自己查询

*forwarders设置转发服务器地址列表,语法同acl中的语法.

*listen-on 设置bind的绑定ip和端口,如listen-on 53 {192.168.0.1;};

*max-cache-size 设置最大缓存的大小,如max-cache-size 5M

*version 设置客户查询DNS版本好的返回信息,如果不想让客户探测到当前的版本好,就用这个好了,如version mydns1.0;

*auth-nxdomain 是否做为权威服务器回答域不存在(Auth-nxdomain)

如果设置为'yes',则允许服务器以权威性(authoritatively)的方式返回NXDOMAIN (该域不存在)的回答,否则就不会作权威性的回答,缺省值为”是”.

*notify 在主服务器更新时是否通知辅助服务器(notify)

如果设置为”yes”,则在主服务器区域数据发生变化时,就会向在域的”域名服务器“中列出的服务器和“亦通知”中列出的服务器发送更新通知。这些服务器接受到更新通知后,就会向主服务器发送请求传输的消息,然后区域文件得以更新。

*recursion 是否允许递规查询(recursion)

如果设置为”yes”,则允许服务器采用递归的方式进行查询,也就是当要查询的地址不在服务器的数据库列表中时,服务器将一级一级的查询,直到查到为止。(一般对局域网都打开)

设置为”no”,并不意味着服务器对于请求的递归查询不给予回答,而是对于请求的递归查询,不再向上级服务器请求,也不缓存,如果不对请求的递归查询回答,可以清空缓存,然后设置为“NO”.

*allow-query 允许普通查询的地址列表(allow-query):

设置允许进行普通查询的ip地址列表,在域中的设置将覆盖全局设置,默认情况下是允许所有的地址进行普通查询.

*allow-recursion允许递归查询的地址列表(allow-recursion):

[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/4217074425.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/4217074425.html, ; -OR- https://www.doczj.com/doc/4217074425.html, ; ; last update: Jun 8, 2011 ; related version of root zone: 2011060800 ; ; formerly https://www.doczj.com/doc/4217074425.html, ; . 3600000 IN NS https://www.doczj.com/doc/4217074425.html,. https://www.doczj.com/doc/4217074425.html,. 3600000 A 198.41.0.4 https://www.doczj.com/doc/4217074425.html,. 3600000 AAAA 2001:503:BA3E::2:30 ; ; FORMERLY https://www.doczj.com/doc/4217074425.html, ; . 3600000 NS https://www.doczj.com/doc/4217074425.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/4217074425.html,是我即将解析的域名,你可自己想一个新的) 4.【cp db.local https://www.doczj.com/doc/4217074425.html,】将文件db.local复制为 https://www.doczj.com/doc/4217074425.html,: 5.vim编辑cat https://www.doczj.com/doc/4217074425.html,文件,在原先的模子上修改为下面那样即可:(配置解析文件) (主要修改了:[1]https://www.doczj.com/doc/4217074425.html,,[2]192.168.170.184(本机IP),其他的基本默认了)

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

刚才解析的https://www.doczj.com/doc/4217074425.html,和现在解析的https://www.doczj.com/doc/4217074425.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/4217074425.html,,blog是一四级域名,sina是三级域名,com是二级域名,cn是顶级域名。一完整域名最多可以是256个字符,各级别域名最多63个字符。 DNS使用https://www.doczj.com/doc/4217074425.html,d进程,如果/etc/named.conf存在,系统启动时会开启https://www.doczj.com/doc/4217074425.html,d进程并读取 /etc/named.conf文件,https://www.doczj.com/doc/4217074425.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/4217074425.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/4217074425.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/4217074425.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/4217074425.html,/domain/named.root # mv named.root named.ca 四、创建 BIND9 配置文件 1. 创建包含root server 和 locahost. 以及 https://www.doczj.com/doc/4217074425.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/4217074425.html,. 域数据文件和反解文件(见附带的 https://www.doczj.com/doc/4217074425.html,.zone、localhost.rzone); # vi /usr/local/bind9/var/named/https://www.doczj.com/doc/4217074425.html,.zone # vi /usr/local/bind9/var/named/https://www.doczj.com/doc/4217074425.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/4217074425.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/4217074425.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/4217074425.html,/ 最新版本: 9.3.2 https://www.doczj.com/doc/4217074425.html,/sw/bind/bind9.3.php#download 帮助文档:https://www.doczj.com/doc/4217074425.html,/sw/bind/ 配置文件样例:https://www.doczj.com/doc/4217074425.html,/bind.html FAQ: https://www.doczj.com/doc/4217074425.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/4217074425.html, 测试ip: 192.168.102.47 主域名服务器 192.168.102.48 纯缓存域名服务器

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

Windows XP 上安装Bind9 DNS 服务器笔记 文章来源: https://www.doczj.com/doc/4217074425.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/4217074425.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" {

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