BIND配置

BIND配置

一、BIND安装

下载地址:http://www.isc.org/software/bind/981-p1

 

下载:bind-9.8.1-P1.tar.gz (8.1MB)

 

解压并放到home目录下(以管理员身份进入BIND解压的文件后再进行复制)

(注:权限不够的话;sudo mv 目标文件/home)

命令:tar zxvf bind-9.8.1-P1.tar.gz

命令:cd bind-9.8.1-P1

命令:./configure sysconfdir=/etc【提示缺少ssl

1:更多安装选项configure --help(本条命令表示把bind的配置文件路径设置为/etc

2:这里一般由于DNSEC功能需要使用SSL协议,所以默认配置会检查openssl的配置,我这里不使用ssl了加上--without openssl即可,即:

命令:./configure sysconfdir=/etc()- -without-openssl

命令:make

命令:make install(利用sudo su切换到管理员的身份)

以上为安装过程。

======================================================================

二、BIND配置

(1)首先需要建立配置文件,共有两个:./etc/named.conf./etc/rndc.conf

注:rndc.conf是在etc目录下已经有的,而named.conf需要手动来创建并填写内容。

命令:rndc-confgen>/etc/rndc.conf(原来这个文件也是没有的,经过这个命令才    会有)

注:以下为rndc.conf的完整内容:

# Start of rndc.conf

key "rndc-key" {

algorithm hmac-md5;

secret "7Tp+AIcREtlzhfR4MU9W9Q==";

};

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 "rndc-key" {

# algorithm hmac-md5;

# secret "7Tp+AIcREtlzhfR4MU9W9Q==";

# };

#

# controls {

# inet 127.0.0.1 port 953

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

# };

# End of named.conf

手动建立named.conf,并编辑内容如下:

options {

directory "/var/named";

// pid-file "/var/run/named/named.pid"; //运行的PID文件路径,用于使用其他用户启动named

};

zone "." {

type hint;

file "named.ca";

};

zone "localhost" {

type master;

file "named.local";

};

//其实最主要的是上面的三个文件

zone "example.com"

{ //创建 example.com

type master;

file "example.com.zone";

};

zone "0.0.127.in-addr.arpa"

{ //localhost的反解析

type master;

file "127.0.0.zone";

};

zone "100.168.192.in-addr.arpa"

{ //example.com的反向解析

type master;

file "192.168.100.zone";

};

#注:这一部分为从生成的/etc/rndc.conf 的尾部拷贝过来并去掉某些注释符号的结果

# Use with the following in named.conf, adjusting the allow list as needed:

key "rndc-key" {

algorithm hmac-md5;

secret "7Tp+AIcREtlzhfR4MU9W9Q==";

};

controls {

inet 127.0.0.1 port 953

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

};

# End of named.conf

(2)创建数据文件

var下创建文件夹named.

var/named/目录下创建数据文件:named.ca, named.local, example.com.zone, 127.0.0.zone , 192.168.100.zone

1:以上几个文件均可以手动创建并编辑内容。

2:在Bind目录下执行命令:dig -t NS . >/var/named/named.ca 可以生成named.ca文件,不过需要打开补充内容,整体文件内容如下:

; <<>> DiG 9.8.0 <<>> -t NS .

;; global options: +cmd

;; Got answer:

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

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

;; QUESTION SECTION:

;.IN NS

;; ANSWER SECTION:

.4748 IN NS f.root-servers.net.

.4748 IN NS a.root-servers.net.

.4748 IN NS g.root-servers.net.

.4748 IN NS d.root-servers.net.

.4748 IN NS c.root-servers.net.

.4748 IN NS e.root-servers.net.

.4748 IN NS i.root-servers.net.

.4748 IN NS l.root-servers.net.

.4748 IN NS b.root-servers.net.

.4748 IN NS j.root-servers.net.

.4748 IN NS h.root-servers.net.

.4748 IN NS m.root-servers.net.

.4748 IN NS k.root-servers.net.

//注:如下是补充的内容(反斜杠不是这个语法的注释:一定不可以要)

a.root-servers.net. 603609 IN A 198.41.0.4

a.root-servers.net. 603609 IN AAAA 2001:503:ba3e::2:30

b.root-servers.net. 603609 IN A 192.228.79.201

c.root-servers.net. 603609 IN A 192.33.4.12

d.root-servers.net. 603609 IN A 128.8.10.90

e.root-servers.net. 603611 IN A 192.203.230.10

f.root-servers.net. 603611 IN A 192.5.5.241

f.root-servers.net. 603611 IN AAAA 2001:500:2f::f

g.root-servers.net. 603609 IN A 192.112.36.4

h.root-servers.net. 603611 IN A 128.63.2.53

h.root-servers.net. 603611 IN AAAA 2001:500:1::803f:235

i.root-servers.net. 603609 IN A 192.36.148.17

j.root-servers.net. 603609 IN A 192.58.128.30

j.root-servers.net. 603609 IN AAAA 2001:503:c27::2:30

;; Query time: 197 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Thu Mar 17 21:33:42 2011

;; MSG SIZE rcvd: 228

剩余的几个文件都需要手动来编辑:

named.local中内容:

$TTL 1D
@ IN SOA localhost. root (
2007042801
1H
15M
1W
1D )

IN NS @
IN A 127.0.0.1

example.com.zone中内容:

$TTL 1D
@ IN SOA example.com. root (
2007042801
1H
15M
1W
1D )

IN NS ns.example.com.
IN MX 10 mail.example.com.
IN A 192.168.100.125
www IN A 192.168.100.125
db IN A 192.168.100.124
ns IN A 192.168.100.126
mail IN A 192.168.100.251
shop IN A 192.168.100.125
*.shop IN A 192.168.100.124
news IN CNAME www

127.0.0.zone中内容:

$TTl 1D
@ IN SOA @ root.localhost. (
2007042801
1H
15M
1W
1D
)
IN NS localhost.
1 IN PTR localhost.

192.168.100.zone中内容:

$TTL 1D
@ IN SOA @ root.example.com. (
2007042801
1H
15M
1W
1D )
IN NS example.com.
125 IN PTR example.com.
125 IN PTR
www.example.com.
124 IN PTR db.example.com.
126 IN PTR ns.example.com.
251 IN PTR mail.example.com.

好了,至此,即完成了所以的配置工作。

named服务器的启动:命令:named //root用户启动,再用netstat -ntl 看看是不是有53号端口

带调试信息的启动:命令named -g

更改配置后如何重启: rndc reload

然后即可在另外一台机器上配置DNS服务地址,然后测试是否能正常解析域名了!

 

 

(BIND在查询的时候,先查询缓存,再查询权威配置域名)

<think>好的,我需要帮助用户解决关于BIND配置的问题。用户想要一个配置教程或示例,所以我得先回顾他们提供的引用内容,看看有哪些相关信息可以利用。 首先,引用[1]提到了BIND的主配置文件named.conf的结构,以及如何设置选项如allow-query、递归查询和DNSSEC。还有正向解析区域的配置步骤,包括创建区域声明和区域文件。引用[2]补充了区域文件的创建方法,比如复制模板文件并进行编辑。引用[4]和[5]则涉及安装BIND配置文件的语法检查,这对用户来说可能很重要,尤其是在验证配置是否正确时。 接下来,我需要整理出一个清晰的步骤指南。用户可能需要从安装开始,然后配置主文件,设置选项,添加区域文件,最后测试配置。同时,应该包含具体的示例,比如正向解析的配置,这样用户可以直接参考。另外,注意事项比如关闭递归查询和权限设置也是关键点,需要强调。 还需要检查是否有遗漏的部分,比如反向解析配置,虽然用户没有特别提到,但作为完整的教程可能需要简要提及。此外,确保所有命令和路径正确,比如创建目录、使用sudo权限等,避免用户执行时出错。 最后,生成相关问题时要围绕用户可能遇到的后续问题,比如性能优化、安全性或错误排查,这样可以帮助他们进一步学习。同时,确保引用正确,每个步骤对应的引用标注自然,不显得突兀。</think>### BIND 配置教程(Ubuntu 环境) #### 一、安装 BIND ```bash sudo apt update sudo apt install bind9 ``` 验证安装:`named -v` 显示版本即成功(示例输出:`BIND 9.18.18-0ubuntu0.22.04.1-Ubuntu`)[^1] --- #### 二、核心配置结构 1. **主配置文件** `/etc/bind/named.conf` 包含以下关键引用: ```bash include "/etc/bind/named.conf.options"; # 全局选项 include "/etc/bind/named.conf.local"; # 自定义区域声明 include "/etc/bind/named.conf.default-zones"; # 默认区域 ``` 2. **选项配置文件** `/etc/bind/named.conf.options` 示例: ```bash options { directory "/var/cache/bind"; # 工作目录 allow-query { 192.168.1.0/24; }; # 仅允许内网查询 recursion no; # 关闭递归查询(权威DNS建议) dnssec-validation auto; # 启用DNSSEC验证 listen-on port 53 { 192.168.1.10; }; # 监听指定IP listen-on-v6 { none; }; # 禁用IPv6 }; ``` [^1] --- #### 三、正向解析配置示例(域名→IP) 1. **声明区域** 在 `/etc/bind/named.conf.local` 添加: ```bash zone "example.com" { type master; file "/etc/bind/zones/db.example.com"; # 区域文件路径 allow-transfer { 192.168.1.20; }; # 从服务器IP }; ``` 2. **创建区域文件** ```bash sudo mkdir /etc/bind/zones sudo cp /etc/bind/db.local /etc/bind/zones/db.example.com # 复制模板 sudo nano /etc/bind/zones/db.example.com ``` 编辑内容示例: ```bash $TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 2024010101 ; 序列号 3600 ; 刷新时间 1800 ; 重试时间 604800 ; 过期时间 86400 ; 最小TTL ) @ IN NS ns1.example.com. ns1 IN A 192.168.1.10 www IN A 192.168.1.100 mail IN A 192.168.1.200 ``` [^2] --- #### 四、验证与重启服务 1. **语法检查** ```bash sudo named-checkconf # 检查主配置 sudo named-checkzone example.com /etc/bind/zones/db.example.com ``` 2. **重启 BIND** ```bash sudo systemctl restart bind9 ``` --- #### 五、注意事项 1. **安全建议** - 使用 `allow-query` 限制查询范围 - 权威DNS服务器建议关闭 `recursion` 防止DNS放大攻击[^1] 2. **反向解析配置** 类似正向解析,需定义 `zone "1.168.192.in-addr.arpa"` 并创建反向区域文件[^5] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值