Ubuntu Server 安装配置 bind9

Ubuntu Server 安装配置 bind9,第1张

域名服务(DNS)是一种Internet服务,可将IP地址和标准域名(FQDN)相互映射。这样,DNS减轻了记住IP地址的需要。运行DNS的计算机称为名称服务器。Ubuntu附带了BIND (Berkley Internet Naming Daemon),BIND是用于在Linux上维护名称服务器的最常用程序。 在终端提示符下,输入以下命令安装 dns: dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容: 有许多方法可以配置BIND9。一些最常见的配置是缓存名称服务器,主服务器和辅助服务器。 DNS配置文件存储在 /etc/bind 目录中。主要配置文件是 /etc/bind/named.conf ,在软件包提供的布局中仅包括这些文件。 可以将同一服务器配置为缓存名称服务器,主要和辅助名称服务器:这都取决于它所服务的区域。服务器可以是一个区域的授权开始(SOA),同时为另一区域提供辅助服务。同时为本地LAN上的主机提供缓存服务。 默认配置充当缓存服务器。只需取消注释并编辑 /etc/bind/named.conf.options 即可设置ISP的DNS服务器的IP地址: 要启用新配置,请重新启动DNS服务器。在终端提示下: 在本节中,将BIND9配置为域的主服务器 example.com 。只需 example.com 用您的FQDN(完全合格的域名)替换即可。 要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 /etc/bind/named.conf.local : 现在,使用现有的区域文件作为模板来创建 /etc/bind/db.example.com 文件: 编辑新的区域文件, /etc/bind/db.example.com 然后更改 localhost.为服务器的FQDN,.在末尾保留其他文件。更改 127.0.0.1 为名称服务器的IP地址和 root.localhost 有效的电子邮件地址,但用 . 代替通常的 @ 符号,并再次.在末尾保留。更改注释以指示此文件所针对的域。 为基本域创建 A 记录 example.com 。此外,创建一个 A 记录的 ns.example.com ,在这个例子中,域名服务器: 每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更改,只需增加一次串行。 现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请 参阅公共记录类型 。 对区域文件进行了更改之后,需要重新启动BIND9以使更改生效 现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。 编辑 /etc/bind/named.conf.local 并添加以下内容: 现在创建 /etc/bind/db.192 文件: 接下来编辑 /etc/bind/db.192 ,更改与 /etc/bind/db.example.com 相同的选项: 每次更改时,“反向”区域中的序列号也需要增加。 对于您在 /etc/bind/db.example.com 中配置的每个A记录(即针对另一个地址),您需要在 /etc/bind/db.192 中创建一个PTR记录。 创建反向区域文件后,重新启动BIND9 一旦配置了主服务器,强烈建议使用辅助服务器,以在主服务器不可用时维持域的可用性。 首先,在主服务器上,需要允许区域传输。将 allow-transfer 选项添加到示例正向和反向区域定义中 /etc/bind/named.conf.local : 在主服务器上重新启动BIND9: 接下来,在辅助服务器上,以与主服务器相同的方式安装bind9软件包。然后编辑, /etc/bind/named.conf.local 并为正向和反向区域添加以下声明: 在辅助服务器上重新启动BIND9: 在其中, /var/log/syslog 您应该看到类似以下内容的内容(为了适应本文档的格式,对某些行进行了拆分): 测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的 nameserver 一行 /etc/resolv.conf 应指向, 127.0.0.53 并且您应该 search 为您的域指定一个参数。像这样: 要检查您的本地解析器正在使用哪个DNS服务器,请运行: 如果安装了dnsutils软件包,则可以使用DNS查找实用程序dig测试设置: 安装完BIND9之后,请对环回接口使用dig来确保它正在侦听端口53。从终端提示符下: 您应该在命令输出中看到类似于以下内容的行: 如果您已将BIND9配置为缓存名称服务器,则“挖掘”外部域以检查查询时间: 注意查询时间接近命令输出的末尾: 经过第二次挖掘后,应该有所改进: 现在演示应用程序如何使用DNS解析主机名,使用ping实用程序发送ICMP回显请求: 这测试名称服务器是否可以将名称解析为 ns.example.com IP 地址。 命令输出应类似于: 测试区域文件的一种好方法是使用 named-checkzone 与bind9软件包一起安装的实用程序。使用此实用程序,可以在重新启动BIND9并使更改生效之前确保配置正确。 要测试我们的示例正向区域文件,请从命令提示符处输入以下内容: 如果一切配置正确,您应该会看到类似以下的输出: 同样,要测试反向区域文件,请输入以下内容: 输出应类似于: BIND9有多种可用的日志记录配置选项,但是两个主要的选项是 channel 和 category ,它们分别配置日志的去向和要记录的信息。 如果未配置任何日志记录选项,则默认配置为: 让我们将BIND9配置为将与DNS查询相关的调试消息发送到单独的文件。 我们需要配置一个通道以指定要将消息发送到的文件,以及一个category。在此示例中,类别将记录所有查询。编辑 /etc/bind/named.conf.local 并添加以下内容: 由于命名守护程序以绑定用户身份运行,因此 /var/log/named 必须创建目录并更改所有权: 现在重新启动BIND9,以使更改生效: 您应该看到文件中 /var/log/named/query.log 填充了查询信息。这是BIND9日志记录选项的简单示例。

BIND安装

软件下载地址:http://www.isc.org/software/bind,目前最新版本是BIND 9.8.1-P1。

安装依赖:

yum -y install gcc openssl-devel

开始安装bind.

wget ftp://ftp.isc.org/isc/bind9/9.8.1-P1/bind-9.8.1-P1.tar.gz

tar xzf bind-9.8.1-P1.tar.gz

cd bind-9.8.1-P1

./configure --prefix=/usr/local/bind

make &&make install

执行完成后,bind已经安装到了/usr/local/bind目录。

配置主dns服务器

配置bind主要是两种文件,一是主配置文件named.conf,二是区域文件zone(包括正解析,反解析)。

在下面的配置中,我们的主dns服务器是ns1.qbtop.com 23.19.81.191,从dns服务器是ns2.qbtop.com 23.19.81.194(这两个dns都已经在godaddy注册好了)。

下面操作仅在主dns服务器23.19.81.191执行。

主配置文件named.conf

首先执行rndc-confgen -a生成/etc/rndc.key密钥文件。

/usr/local/bind/sbin/rndc-confgen -a

vi /usr/local/bind/etc/named.conf

写入如下内容:

include "/usr/local/bind/etc/rndc.key"

controls { inet 127.0.0.1 port 953 allow { 127.0.0.1} keys { "rndckey"}}

logging {

channel default_syslog { syslog local2severity notice}

channel audit_log { file "/var/log/bind.log"severity noticeprint-time yes}

category default { default_syslog}

category general { default_syslog}

category security { audit_logdefault_syslog}

category config { default_syslog}

category resolver { audit_log}

category xfer-in { audit_log}

category xfer-out { audit_log}

category notify { audit_log}

category client { audit_log}

category network { audit_log}

category update { audit_log}

category queries { audit_log}

category lame-servers { audit_log}

}

options {

directory "/usr/local/bind/etc"

pid-file "/usr/local/bind/var/run/bind.pid"

transfer-format many-answers

interface-interval 0

allow-query { any}

}

zone "qbtop.com" {

type master

file "qbtop.com.zone"

allow-transfer { 23.19.81.194}

}

zone "81.19.23.in-addr.arpa" {

type master

file "81.19.23.in-addr.arpa"

allow-transfer { 23.19.81.194}

}

named.conf文件说明:

上面的named.conf文件包括三部分:key,controls,logging,options,zone。

logging:设置日志服务器和日志信息的发送地。

options:控制服务器的全局配置选项和为其它语句设置默认值

zone:定义一个域,比如正解析域和反解析域。

logging是定义日志的,不需要深究,主要是options和zone。

在options中:

directory "/usr/local/bind/etc":定义bind的工作目录为/usr/local/bind/etc,配置文件中所有使用的相对路径,指的都是在这里配置的目录下。

pid-file "/usr/local/bind/var/run/bind.pid":把bind程序运行的pid写入文件bind.pid。

transfer-format many-answers:使用更加有效的域传输格式many-answers。

allow-query { any}:允许所有用户查询dns。

在zone中:

这里定义了两个zone,一个是正解析zone qbtop.com,一个是反解析zone 81.19.23.in-addr.arpa。

他们的参数基本相同:

type master:定义dns服务器为主dns。

file "qbtop.com.zone":定义此zone的文件名。

allow-transfer { 23.19.81.194}:允许向从dns 23.19.81.194传输dns数据。

唯一不同的是zone名称的定义,正解析zone名称的定义是受权的域名,可以是顶级域名,也可以是二级域名,或多级。反解析zone名称定义规定前部分ip倒着写。如ip 192.168.1.2,名称定义为1.168.192.in-addr.arpa。

正解析qbtop.com.zone

vi /usr/local/bind/etc/qbtop.com.zone

写入如下内容:

$TTL 3600

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 Serial

3600 Refresh

900 Retry

3600000 Expire

3600 ) Minimum

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

ns1 IN A 23.19.81.191

ns2 IN A 23.19.81.194

aaa IN A 23.19.81.191

bbb IN A 23.19.81.191

文件说明:

$TTL 3600:指示为每个没有特殊TTL设置的RR给出了一个默认的TTL。

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 Serial

3600 Refresh

900 Retry

3600000 Expire

3600 ) Minimum

定义SOA记录,包括Zone的名字,一个技术联系人和各种不同的超时值。

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

设置两个ns记录ns1.qbtop.com和ns2.qbtop.com。

ns1 IN A 23.19.81.191

ns2 IN A 23.19.81.194

aaa IN A 23.19.81.191

bbb IN A 23.19.81.191

设置主机为ns1,ns2,aaa和bbb的A记录。

反解析文件81.19.23.in-addr.arpa

反解析zone可以不设置。

vi /usr/local/bind/etc/81.19.23.in-addr.arpa

写入如下内容:

$TTL 3600

@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (

2012022301 Serial

3600 Refresh

900 Retry

3600000 Expire

3600 ) Minimum

@ IN NS ns1.qbtop.com.

@ IN NS ns2.qbtop.com.

191 IN PTR ns1.qbtop.com.

194 IN PTR ns2.qbtop.com.

说明:

上部分是定义SOA记录,下部分是设置IP反解析。

如设置IP 23.19.81.191反解析成ns1.qbtop.com,23.19.81.194反解析成ns2.qbtop.com。

配置从DNS服务器

下面我们来配置从DNS服务器。配置从DNS服务器只需要配置主配置文件named.conf,zone文件不需配置,因为这是从主DNS服务器获取的。

首先建立目录slaves用来存放从主dns获取的zone文件。

mkdir /usr/local/bind/etc/slaves

写入如下内容:

logging {

channel default_syslog { syslog local2severity notice}

channel audit_log { file "/var/log/bind.log"severity noticeprint-time yes}

category default { default_syslog}

category general { default_syslog}

category security { audit_logdefault_syslog}

category config { default_syslog}

category resolver { audit_log}

category xfer-in { audit_log}

category xfer-out { audit_log}

category notify { audit_log}

category client { audit_log}

category network { audit_log}

category update { audit_log}

category queries { audit_log}

category lame-servers { audit_log}

}

options {

directory "/usr/local/bind/etc"

pid-file "/usr/local/bind/var/run/bind.pid"

transfer-format many-answers

interface-interval 0

allow-query { any}

}

zone "qbtop.com" {

type slave

file "slaves/qbtop.com.zone"

masters { 23.19.81.191}

}

zone "81.19.23.in-addr.arpa" {

type slave

file "slaves/81.19.23.in-addr.arpa"

masters { 23.19.81.191}

}

文件说明:

从dns跟主dns主要的区别是zone的定义,type slave定义此dns服务器为从dns,masters { 23.19.81.191}定义主dns的IP。

启动BIND

1、在启动BIND之前,我们需要执行/usr/local/bind/sbin/named-checkconf检查named.conf配置文

件,和执行/usr/local/bind/sbin/named-checkzone zone名称

zone文件名,如/usr/local/bind/sbin/named-checkzone qbtop.com

/usr/local/bind/etc/qbtop.com.zone。

然后调试模式启动bind,/usr/local/bind/sbin/named -g,g参数的意思是前台执行bind,这会输出启动的信息,发现没有严重的错误后,再把g参数删除重新以/usr/local/bind/sbin/named方式后台启动bind。

2、设置开机启动,在/etc/rc.d/rc.local中加入/usr/local/bind/sbin/named。

手动添加记录

1、直接添加删除或修改zone文件里的记录

2、执行rndc reload zone名称重载,如rndc reload qbtop.com


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/649540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-22
下一篇2023-07-22

发表评论

登录后才能评论

评论列表(0条)

    保存