在Linux contos 7中构建主域名服务器(脚本)

#!/bin/bash
# 定义变量
DOMAIN="example.com"
NS1="ns1.$DOMAIN"
IP="192.168.1.100"
MAIL_IP="192.168.1.101"
SERIAL=$(date +%Y%m%d%H)
# 更新系统
yum update -y
# 安装 Bind
yum install bind bind-chroot -y
# 配置主配置文件
cat > /etc/named.conf << EOF
options {
    listen-on port 53 { any; };
    listen-on-v6 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";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { any; };
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
    /* Path to ISC DLV key */
    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";
EOF
# 创建正向区域文件
cat > /var/named/${DOMAIN}.zone << EOF
\$TTL 86400
@       IN      SOA     $NS1. admin.$DOMAIN. (
                        $SERIAL      ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400           ; Minimum TTL
)
@       IN      NS      $NS1.
ns1     IN      A       $IP
www     IN      A       $IP
mail    IN      A       $MAIL_IP
EOF
# 创建反向区域文件
IP_REV=$(echo $IP | awk -F. '{print $3 "." $2 "." $1}')
cat > /var/named/${IP_REV}.zone << EOF
\$TTL 86400
@       IN      SOA     $NS1. admin.$DOMAIN. (
                        $SERIAL      ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400           ; Minimum TTL
)
@       IN      NS      $NS1.
$(echo $IP | awk -F. '{print $4}')     IN      PTR     $NS1.
$(echo $IP | awk -F. '{print $4}')     IN      PTR     www.$DOMAIN.
$(echo $MAIL_IP | awk -F. '{print $4}')     IN      PTR     mail.$DOMAIN.
EOF
# 配置区域
cat > /etc/named.rfc1912.zones << EOF
zone "$DOMAIN" IN {
    type master;
    file "${DOMAIN}.zone";
    allow-update { none; };
};
zone "${IP_REV}.in-addr.arpa" IN {
    type master;
    file "${IP_REV}.zone";
    allow-update { none; };
};
EOF
# 修改文件权限
chown named:named /var/named/${DOMAIN}.zone
chown named:named /var/named/${IP_REV}.zone
# 启动并设置开机自启
systemctl start named
systemctl enable named
# 防火墙设置
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
echo "主域名服务器配置完成。"

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值