当前位置: 首页 > article >正文

安装DNS(BIND)并部署主、从域服务

#!/bin/bash

# 检查是否为 root 用户
if [ "$(id -u)" != "0" ]; then
    echo "不是 root 你安装个啥啊,你配吗?"
    sleep 5
    exit 1
fi

# 安装 BIND
echo "正在安装 BIND..."
yum install -y bind bind-utils

# 检查安装是否成功
if [ $? -ne 0 ]; then
    echo "BIND 安装失败,请检查 YUM 源是否可用。"
    exit 1
fi

# 配置主 DNS
echo "正在配置主 DNS..."

# 备份原始配置文件
mv /etc/named.conf /etc/named.conf.bak

# 配置 named.conf 文件
cat > /etc/named.conf <<EOF
options {
    listen-on port 53 { any; };
    allow-query { any; };
    recursion yes;
};

zone "." IN {
    type hint;
    file "named.ca";
};

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.zone";
    allow-update { none; };
};
EOF

# 创建主区域文件
mkdir -p /var/named
cat > /var/named/example.com.zone <<EOF
\$TTL 86400
@       IN      SOA     ns1.example.com. admin.example.com. (
                        2023101001      ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; 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.100
EOF

# 创建反向区域文件
cat > /var/named/192.168.1.zone <<EOF
\$TTL 86400
@       IN      SOA     ns1.example.com. admin.example.com. (
                        2023101001      ; Serial
                        3600            ; Refresh
                        1800            ; Retry
                        604800          ; Expire
                        86400 )         ; Minimum TTL
@       IN      NS      ns1.example.com.
100     IN      PTR     ns1.example.com.
EOF

# 配置从 DNS(可选)
echo "正在配置从 DNS..."

# 在主 DNS 的配置文件中添加从 DNS 的配置
cat >> /etc/named.conf <<EOF

zone "example.com" IN {
    type slave;
    file "example.com.zone";
    masters { 192.168.1.200; };  # 从 DNS 的 IP 地址
};
EOF

# 启动 named 服务
echo "启动 named 服务..."
systemctl enable named
systemctl start named

# 配置防火墙
echo "配置防火墙..."
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload

echo "BIND 安装和配置完成!"
echo "主 DNS 已配置,从 DNS 配置已添加到主 DNS 中。"


http://www.kler.cn/a/600657.html

相关文章:

  • Zotero·Awesome GPT配置
  • 后端返回了 xlsx 文件流,前端怎么下载处理
  • DIVA-GIS:一个免费的GIS分析小软件
  • 每日总结3.24
  • 如何理解 Apache Iceberg 与湖仓一体(Lakehouse)?
  • 【C++】 —— 笔试刷题day_8
  • SpringMVC 配置与应用详解
  • 《TCP/IP网络编程》学习笔记 | Chapter 22:重叠 I/O 模型
  • 基础场景-------------------(5)重载和重写的区别
  • 数据库练习
  • 笔试专题(三)
  • 思考我的未来职业
  • 力扣15.三数之和(双指针)
  • 【从零实现Json-Rpc框架】- 项目设计篇
  • ngx_conf_parse - location块
  • C# MemoryStream 中 ToArray 和 GetBuffer 的区别
  • 唯品会 unidbg 补环境 分析
  • 菜鸟的程序编程理解
  • 《大语言模型》学习笔记(四)--Transformer 模型
  • 大模型思维链COT:Chain-of-Thought Prompting Elicits Reasoningin Large Language Models