点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


本文将详细介绍如何在CentOS操作系统上安装、配置和管理BIND 9测试环境。
测试环境准备
1.1 系统要求
操作系统:CentOS 8 内存: 2GB 磁盘空间:50GB 网络:配置静态IP地址(192.168.1.100)
1.2 网络配置
确保服务器已配置静态IP地址,编辑网络配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
保存并重启网络服务:
systemctl restart network
安装BIND 9
2.1 安装BIND 9软件包
使用以下命令安装BIND 9及其相关工具:
yum install bind bind-utils -y
2.2 验证安装
安装完成后,验证BIND 9版本:
named -v
配置BIND 9
3.1 主配置文件(named.conf)
BIND 9的主配置文件位于/etc/named.conf。编辑该文件:
vi etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.1.100; };
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 { localhost; 192.168.1.0/24; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
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";
3.2 区域文件配置
在/etc/named.rfc1912.zones中添加自定义区域:
vi /etc/named.rfc1912.zones
配置示例:
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.rev";
allow-update { none; };
};
3.3 配置正向解析
创建正向解析区域文件:
vi /var/named/example.com.zone
配置示例:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023101001 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.example.com.
@ IN A 192.168.1.100
ns1 IN A 192.168.1.100
www IN A 192.168.1.101
mail IN A 192.168.1.102
3.4 配置反向解析
创建反向解析区域文件:
vi /var/named/192.168.1.rev
配置示例:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023101001 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.example.com.
100 IN PTR ns1.example.com.
101 IN PTR www.example.com.
102 IN PTR mail.example.com.
启动与测试
4.1 启动BIND 9服务
启动BIND 9服务并检查状态:
systemctl start named
systemctl status named
4.2 设置开机自启动
设置BIND 9开机自启动:
systemctl enable named
4.3 测试DNS解析
使用nslookup工具测试DNS解析:
nslookup www.example.com 192.168.1.100
安全配置
5.1 限制访问权限
通过防火墙限制DNS服务的访问:
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
5.2 配置TSIG密钥
生成TSIG密钥并配置区域传输:
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com
在/etc/named.conf中添加密钥配置:
key "example.com" {
algorithm hmac-md5;
secret "生成的密钥";
};
5.3 配置DNSSEC
启用DNSSEC签名并生成密钥:
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com
dnssec-signzone -o example.com example.com.zone
日志与监控
6.1 配置日志记录
在/etc/named.conf中配置日志记录:
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
6.2 监控DNS服务
使用rndc工具监控DNS服务状态:
rndc status
常见问题与解决方案
7.1 DNS解析失败
检查防火墙配置,确保DNS端口(53)已开放。 检查区域文件语法是否正确。
7.2 服务无法启动
检查/var/log/messages中的错误日志。 使用named-checkconf和named-checkzone检查配置文件。

本文作者:张 红(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




