#!/bin/bash
# 定义变量
DOMAIN="atxnn.com"
NS1="ns1.atxnn.com"
IP="192.168.8.149"
EMAIL="admin@atxnn.com"
REVERSE_ZONE="8.168.192.in-addr.arpa"
# 安装 bind 和 bind-chroot
yum install -y bind bind-chroot
# 备份原始配置文件
cp /etc/named.conf /etc/named.conf.bak
# 配置 named.conf
cat << EOF > /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
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";
zone "$DOMAIN" IN {
type master;
file "$DOMAIN.zone";
allow-update { none; };
};
zone "$REVERSE_ZONE" IN {
type master;
file "$REVERSE_ZONE.zone";
allow-update { none; };
};
EOF
# 创建正向区域文件
cat << EOF > /var/named/$DOMAIN.zone
\$TTL 86400
@ IN SOA $NS1. $EMAIL. (
$(date +%Y%m%d01) ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS $NS1.
@ IN A $IP
www IN A $IP
EOF
# 创建反向区域文件
cat << EOF > /var/named/$REVERSE_ZONE.zone
\$TTL 86400
@ IN SOA $NS1. $EMAIL. (
$(date +%Y%m%d01) ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS $NS1.
149 IN PTR $DOMAIN.
EOF
# 设置文件权限
chown named:named /var/named/$DOMAIN.zone
chmod 640 /var/named/$DOMAIN.zone
chown named:named /var/named/$REVERSE_ZONE.zone
chmod 640 /var/named/$REVERSE_ZONE.zone
# 启动并设置开机自启
systemctl start named
systemctl enable named