CentOS7简单易学:搭建自己的BIND服务器 (centos7搭建bind服务器)

在CentOS 7上搭建BIND服务器,首先安装bind和bind-utils,配置named.conf,创建区域文件,然后启动并设置开机启动服务。

CentOS7简单易学:搭建自己的BIND服务器

前言

BIND (Berkeley Internet Name Domain) 是一款常用的DNS服务器软件,它可以将域名转换为IP地址,在本文中,我们将介绍如何在CentOS7上搭建一个简单的BIND服务器。

CentOS7简单易学:搭建自己的BIND服务器 (centos7搭建bind服务器)
(图片来源网络,侵删)

环境准备

在开始之前,确保你的CentOS7系统已经安装并运行,你还需要有一个域名和相应的IP地址。

安装BIND

我们需要在CentOS7上安装BIND,打开终端,执行以下命令:

sudo yum install bind bind-utils -y 

配置BIND

1. 配置named.conf

CentOS7简单易学:搭建自己的BIND服务器 (centos7搭建bind服务器)
(图片来源网络,侵删)

编辑/etc/named.conf文件,添加以下内容:

options {
    listen-on port 53 { any; };
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };
    recursion yes;
};
logging {
    channel default_debug {
        file "data/named.run";
        severity dynamic;
    };
};
zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key"; 

2. 配置本地区域文件

/var/named目录下创建一个名为localhost.zone的文件,并添加以下内容:

$TTL 86400
@       IN      SOA     localhost. root.localhost. (
                        2022010101      ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400           ; Minimum TTL
)
@       IN      NS      localhost.
@       IN      A       127.0.0.1
www     IN      A       127.0.0.1 

这里,我们为本地主机设置了一个正向区域,将www的IP地址设置为127.0.0.1,你可以根据需要修改这些值。

3. 重启BIND服务

执行以下命令以重启BIND服务:

CentOS7简单易学:搭建自己的BIND服务器 (centos7搭建bind服务器)
(图片来源网络,侵删)
sudo systemctl restart named 

测试BIND服务器

使用dig命令测试BIND服务器是否正常工作:

dig @localhost www.example.com 

如果一切正常,你应该会看到类似以下的输出:

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> @localhost www.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65635
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
; COOKIE: d36e270000000000 (echoed)
;; QUESTION SECTION:
;www.example.com.            IN      A
;; ANSWER SECTION:
www.example.com.         60      IN      A       127.0.0.1
;; AUTHORITY SECTION:
example.com.         60      IN      SOA     ns.example.com. hostmaster.example.com. 2022010101 3600 1800 604800 86400
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jan 01 01:01:01 CST 2022
;; MSG SIZE  rcvd:104 

相关问题与解答

Q1: 如何为其他域名设置BIND服务器?

A1: 你可以参考上面的步骤,为其他域名创建新的正向区域文件,并在named.conf文件中包含它们,如果你有一个名为example.com的域名,你可以在/var/named目录下创建一个名为example.com.zone的文件,并相应地修改named.conf文件。

Q2: 如何在BIND服务器上设置反向区域?

A2: 要设置反向区域,你需要在named.conf文件中添加一个新的区域块,并在/var/named目录下创建一个对应的反向区域文件,如果你想为192.168.1.0/24网络设置一个反向区域,你可以添加以下内容到named.conf文件:

zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.1.db";
    allow-update { none; };
}; 

/var/named目录下创建一个名为192.168.1.db的文件,并添加相应的PTR记录。