5154

Good Luck To You!

centos虚拟机dns主从

CentOS虚拟机中配置DNS主从,需先安装DNS服务,然后分别配置主服务器和从服务器的相关文件及

CentOS虚拟机DNS主从配置详解

准备工作

环境要求

  • 操作系统:CentOS 7或更高版本(确保两台虚拟机均为相同或兼容版本)
  • 网络模式:桥接模式(确保主从服务器能互通,且客户端可访问)
  • 软件包bindbindutilsbindchroot(提供DNS服务及安全隔离)
  • 关闭防火墙与SELinux(可选,但推荐):
    systemctl stop firewalld # 关闭防火墙
    setenforce 0 # 关闭SELinux

安装BIND服务

在主从服务器上执行:

yum install y bind bindutils bindchroot

主DNS服务器配置

修改主配置文件 /etc/named.conf

编辑文件并设置以下参数:

options {
    listenon port 53 { 192.168.1.10; }; # 主服务器IP
    listenonv6 port 53 { ::1; };
    directory "/var/named";
    allowquery { any; }; # 允许所有IP查询
};

关键项

  • listenon:指定监听的IP地址(改为实际主服务器IP)。
  • allowquery:设置为any以允许所有客户端查询。

配置正向解析区域

编辑 /etc/named.rfc1912.zones,添加以下内容:

zone "example.com" IN {
    type master;
    file "example.com.zone"; # 区域文件路径
    allowupdate { none; };
};

区域文件示例 (/var/named/example.com.zone):

$TTL 1D
@ IN SOA @ rname.invalid. (
    2025072101 ; Serial(格式:YYYYMMDDNN)
    1D ; Refresh
    1H ; Retry
    1W ; Expire
    3H ) ; Minimum TTL
NS @
A 192.168.1.10 # 主服务器IP
www IN A 192.168.1.10 # www.example.com解析
ftp IN A 192.168.1.10 # ftp.example.com解析
* IN A 192.168.1.10 # 泛域名解析(如mail.example.com)

配置反向解析区域

/etc/named.rfc1912.zones 中添加:

zone "1.168.192.inaddr.arpa" IN {
    type master;
    file "1.168.192.zone"; # 反向区域文件
    allowupdate { none; };
};

反向区域文件示例 (/var/named/1.168.192.zone):

$TTL 1D
@ IN SOA example.com. rname.invalid. (
    2025072101
    1D
    1H
    1W
    3H )
NS @
10 IN PTR www.example.com. # 192.168.1.10的PTR记录

检查配置并启动服务

namedcheckconf # 检查主配置文件语法
namedcheckzone example.com /var/named/example.com.zone # 检查区域文件
systemctl start named # 启动DNS服务
systemctl enable named # 设置开机自启

从DNS服务器配置

修改主配置文件 /etc/named.conf

编辑文件并设置以下参数:

options {
    listenon port 53 { 192.168.1.20; }; # 从服务器IP
    listenonv6 port 53 { ::1; };
    directory "/var/named";
    allowquery { any; };
};

配置正向解析区域为从属模式

/etc/named.rfc1912.zones 中添加:

zone "example.com" IN {
    type slave;
    masters { 192.168.1.10; }; # 主服务器IP
    file "slaves/example.com.zone"; # 从服务器区域文件路径
    allownotify { 192.168.1.10; }; # 允许主服务器通知
};

配置反向解析区域为从属模式

/etc/named.rfc1912.zones 中添加:

zone "1.168.192.inaddr.arpa" IN {
    type slave;
    masters { 192.168.1.10; };
    file "slaves/1.168.192.zone";
    allownotify { 192.168.1.10; };
};

检查配置并启动服务

namedcheckconf
systemctl start named
systemctl enable named

验证与测试

主从同步验证

  • 在主服务器修改区域文件(例如新增记录):
    echo "\@ IN MX 10 mail.example.com." >> /var/named/example.com.zone
    systemctl restart named # 重启服务以应用更改
  • 在从服务器查看同步结果
    cat /var/named/slaves/example.com.zone # 应包含新增的MX记录

客户端测试

编辑客户端的 /etc/resolv.conf,添加从服务器IP:

nameserver 192.168.1.20 # 从服务器IP

使用 nslookup 测试解析:

nslookup www.example.com # 应返回192.168.1.10
nslookup 192.168.1.10 # 应返回www.example.com

常见问题与解答

Q1:如何确保主从服务器之间的网络连通性?

A1:需确保以下条件:

  1. 主从服务器的TCP和UDP 53端口互通(使用telnet 192.168.1.10 53测试)。
  2. 防火墙允许DNS流量(如开启防火墙,需执行firewallcmd permanent addservice=dns)。
  3. 主从服务器的/etc/resolv.conf指向正确的DNS地址。

Q2:为什么从服务器无法同步主服务器的更新?

A2:可能原因及解决方案: | 问题 | 原因 | 解决方案 | |||| | 同步失败 | 主服务器未配置alsonotify或从服务器未配置allownotify | 在主服务器的named.conf中添加alsonotify { 从服务器IP; } | | 区域文件错误 | 主服务器区域文件语法错误 | 使用namedcheckzone检查并修复 | | 网络阻塞 | 主从服务器间TCP/UDP 53端口不通 | 检查防火墙规则并开放端口 |

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.