1.修改克隆机ip为xxx.xxx.xxx.101 修改克隆机的主机名称为slave

nmcli con modi ens160 ipv4.address xxx.xxx.xxx.101/24
nmcli con up ens160

2.修改主机名为master

hostnamectl hostname master

3. 3. 安装bind
dnf install bind -y

4.1修改主配置文件 让从服务器监听所有的ip 让从服务器允许所有客户端访问

vi /etc/named.rfc1912.zones

只修改

listen-on port 53 { any; };
allow-query     { any; };

4.2修改区域声明文件 /etc/named.rfc1912.zones

# 正向解析区域声明(peihua.cn)
zone "peihua.cn" IN {
    type master;
    file "peihua.cn.zone";
    allow-transfer {172.25.254.101;};  # 只允许从服务器同步区域数据
};

# 反向解析区域声明(172.25.254.0网段)
zone "254.25.172.in-addr.arpa" IN {
    type master;
    file "172.25.254.arpa";
    allow-transfer {172.25.254.101;};  # 只允许从服务器同步区域数据
}
 

4.3编写正向解析区域文件 /var/named/peihua.cn.zone

vi /var/named/peihua.cn.zone

5.检查配置文件语法

named-checkconf

6.启动从 DNS 服务并设置开机自启

systemctl enable --now named

systemctl status named

7.修改ip

nmcli con mod ens160 ipv4.address 172.25.254.101/24
nmcli con mod ens160 ipv4.gateway 172.25.254.2
nmcli con mod ens160 ipv4.dns 172.25.254.100
nmcli con mod ens160 ipv4.method manual
nmcli con reload

8.安装 BIND 服务

dnf install -y bind bind-utils

9.开启防火墙放行 DNS 服务

firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
success
success
10.临时关闭 SELinux

setenforce 0

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

11.配置从服务器的 named.conf

 /etc/named.conf << 'EOF'
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-validation yes;
        managed-keys-directory "/var/named/dynamic";
        geoip-directory "/usr/share/GeoIP";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
        include "/etc/crypto-policies/back-ends/bind.config";
};

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

12.语法检查与启动服务

named-checkconf

systemctl enable --now named

systemctl status named

13.验证主从同步是否成功

slave(172.25.254.101) 执行:

cat >> /etc/named.rfc1912.zones << 'EOF'

// 正向从区域 zone "peihua.cn" IN {

type slave; masters { 172.25.254.100; };

file "slaves/peihua.cn.zone"; };

// 反向从区域

zone "254.25.172.in-addr.arpa" IN {

type slave; masters { 172.25.254.100; };

file "slaves/172.25.254.arpa"; };

EOF

重启从服务器 DNS 服务

systemctl restart named

查看是否自动下载了区域文件

ls -l /var/named/slaves/

测试 DNS 解析(从服务器)

nslookup www.peihua.cn 172.25.254.101

nslookup 172.25.254.100 172.25.254.101

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐