跳转至

BIND9

安装并启动 bind

第一步是安装软件包:

yum install bind bind-utils

bind 的服务守护进程被命名为named 。启用此功能可在启动时启动:

systemctl enable named

启动named:

systemctl start named

配置

在配置任何文件前,请创建原始文件的备份副本

cp /etc/named.conf /etc/named.conf.bak

CONF 文件

编辑 named.conf 文件。你可以替换你喜欢的编辑器。

vi /etc/named.conf

options

指定监听的 IPV4/IPV6 接口:

listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };

allow-query 语句,指定哪些 IP 地址和范围可以查询此 DNS 服务器:

allow-query { any; };

allow-recursion 语句,定义 BIND 接受递归查询的 IP 地址和范围:

allow-recursion { any; };

区域配置文件

vi /etc/named.rfc1912.zones

/etc/named.rfc1912.zones下有 5 个区域配置模板,区域格式为:

zone "<YOUR DNS Domain Name >" {
    <Configurations>
}

以及区域的反向格式:

zone "<YOUR IP ADDRESS>-addr.arpa" { 
    <Configurations>
}

实例,正向解析主区域(Master):

zone "skills.com" {
    type primary;
    file "/var/named/db.skills";
    allow-update { none; };
};

示例:反向解析主区域

zone "1.168.192.in-addr.arpa" {
    type primary;
    file "/var/named/db.192";
    allow-update { none; };
};

示例:从服务器(Slave)

zone "skills.com" {
    type secondary;
    file "/var/named/slaves/db.skills";
    masters { 192.168.1.10; };
    masterfile-format text;
};
参数 说明
type 区域类型(必须)
常见值:
master/primary:主区域服务器,负责维护和编辑区域数据
slave/ secondary:从区域服务器,从主服务器同步数据
forward:转发区域,将请求转发给其他服务器
file 指定区域数据文件路径
allow-update 定义是否允许动态更新该区域的数据。常见值:none 表示不允许;也可以设定特定的 IP 地址或 ACL
masters (仅用于 slave)主服务器 IP 地址列表,例如:masters { 192.168.1.10; };
masterfile-format 默认值:text,以可读的文本格式存储 zone 文件(即常见的 AMX 等记录,以标准 BIND 格式书写)

区域文件

SOA

@ IN SOA @ rname.invalid. (
    2025080401 ; Serial
    3600       ; Refresh
    1800       ; Retry
    1209600    ; Expire
    86400 )    ; Minimum TTL

@ IN SOA <主DNS服务器>. <管理员邮箱>. (
    <序列号>
    <刷新>
    <重试>
    <过期>
    <最小TTL>
)

Name Server Records

Name Server(NS)记录用于指定负责解析该域的权威 DNS 服务器。在每个 zone 文件中,必须定义主从 DNS 服务器的 NS 记录,并通过 A 记录为这些名称服务器提供对应的 IP 地址。A 记录中的 IP 地址应与实际搭建的 DNS 服务器保持一致,确保域名解析能够正确进行。

    NS    ns.skills.com.
    A     192.168.100.254

Address Records

A 记录(Address Record):将域名映射到 IPv4 地址

<主机名>  IN  A  <IPv4 地址>

AAAA 记录:将域名映射到 IPv6 地址

<主机名>  IN  AAAA  <IPv6 地址>

Canonical Name Records

CNAME 记录(Canonical Name Record)用于将一个域名别名(alias)指向另一个规范域名(canonical name)。 格式

<别名域名>  IN  CNAME  <规范域名>.

示例

...
server  A   192.168.1.1
www     CNAME   server.skills.com.

Pointer Record

PTR(Pointer Record)是 DNS 的反向解析记录,用于将 IP 地址映射回对应的主机名。它和 A 记录相反,A 记录是从域名映射到 IP,PTR 则是从 IP 映射到域名。

PTR 记录一般用于反向 DNS 查询(Reverse DNS Lookup),常见于邮件服务器验证、防止垃圾邮件等场景。

格式

<IP地址最后一段>  IN  PTR  <主机名>.