CentOS7下配置主从DNS、轮询及子域授权


一、bind9的安装

yum install -y bind-chroot

二、bind9的配置

1. 配置master(192.168.74.204)
♦ 主配置文件(/etc/named.conf)

配置bind9 进程的行为

vim /etc/named.conf
===================================================================
 options {
    listen-on port 53 { any; };
    ......
    directory   "/var/named"; //数据文件(zone文件)配置目录
    ......
    allow-query { any; };
    rrset-order { order random; }; // order cyclic; DNS轮询配置
    ......
};
......
include "/etc/named.rfc1912.zones";
......
♦ 区域配置文件(/etc/named.rfc1912.zones)

指出数据文件(zone文件)的目录位置

vim /etc/named.rfc1912.zones
===================================================================
zone "beeworkshop.com" IN {
    type master;
    file "beeworkshop.com.zone";
    allow-update { 192.168.74.205; }; //配置slave的ip,多个地址使用分号分割
};
♦ 数据配置文件(/var/named/beeworkshop.com.zone)
cp -p named.localhost beeworkshop.com.zone # -p 保持权限
vim beeworkshop.com.zone
============================================================================
$TTL 1D
@       IN SOA  beeworkshop.com. admin.beeworkshop.com. ( ;admin.beeworkshop.com. 实际是 admin@beeworkshop.com.
;@表达了本域,所以邮箱的@用点表示以资区别。
                                        4       ; serial 每次修改都要增一(10位数字)
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS  ns1.beeworkshop.com.  ; 必须配置zone=beeworkshop.com的name server的域名
        NS  ns2.beeworkshop.com.  ; 必须配置zone=beeworkshop.com的name server的域名
ns1  A   192.168.74.204  ; 必须配置name server的A记录
ns2  A   192.168.74.205  ; 必须配置name server的A记录
    IN MX 10 mail.beeworkshop.com.
mail A  133.40.19.1
www     A       133.40.19.20  ; DNS轮询配置
    A   133.40.19.21
    A   133.40.19.22
    A   133.40.19.23
    A   133.40.19.24
    A   133.40.19.25
ftp A   133.40.19.3
hadoop A  133.40.19.4

@ 表示本域,以点结尾表示绝对域名,不以点结尾表示相对域名(相对本域,如:beeworkshop.com.)。RR(Resource Record)的第一列不写也表示本域。

星号* 表示通配——泛域名解析。

重启named进程使配置立即生效

systemctl start named
tail -f /var/log/messages
tail -20 /var/log/messages | grep named
2. 配置slave (192.168.74.205)
♦ 主配置文件(/etc/named.conf)
options {
    listen-on port 53 { any; };
    ......
    directory   "/var/named"; //同步master的数据文件(zone)所在目录
    ......
    allow-query     { any; };
    rrset-order { order random; }; // order cyclic; DNS轮询配置
};
......
include "/etc/named.rfc1912.zones";
......
♦ 区域配置文件(/etc/named.rfc1912.zones)
zone "beeworkshop.com" IN {
    type slave;
    masters { 192.168.74.204 ; }; // 配置master的ip,多个地址使用分号分割
    file "slaves/beeworkshop.com.zone"; //需从master同步过来的数据文件
};

重启named进程使配置立即生效

systemctl start named
tail -f /var/log/messages
tail -20 /var/log/messages | grep named

在/var/named/slaves下可以看到同步过来的数据文件(zone)。

三、常用命令

#安装nslookup及dig测试命令
yum install -y bind-utils

#测试命令
nslookup www.beeworkshop.com 192.168.74.204
dig @192.168.74.205 www.beeworkshop.com

# 清空DNS缓存
rndc flush # 服务器端
ipconfig/flushdns # windows客户端

# 检查主配置文件/etc/named.conf
named-checkconf

# 检查数据文件配置
named-checkzone 'beeworkshop.com.zone' beeworkshop.com.zone

# 通过重启named进程使配置立即生效
# 主从复制场景下只需要在master上重启即可
# 注意需要在资源配置文件(zone)中为serial自增一
systemctl restart named

四、子域授权/委派

如果DNS中的区域zone非常大,势必就需要划分子域,分而治之,让子域拥有自己的DNS Server,管理自己的域名解析。

1. 场景:
角色域名Name ServerIP
父域beeworkshop.comns1.beeworkshop.com.192.168.74.204
子域nms.beeworkshop.comns.nms.beeworkshop.com192.168.74.203
2. 父域的配置

在父域的数据文件(zone)中增加子域class=NS,A的RR(Resource Record)。

vim /var/named/beeworkshop.com.zone
========================================================================
$TTL 1D
@       IN SOA  beeworkshop.com. admin.beeworkshop.com. (
                                        16      ; serial 修改后自增一
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
    NS  ns1.beeworkshop.com.
    NS  ns2.beeworkshop.com.
nms NS  ns.nms.beeworkshop.com. ; 为子域指定name server的NS标识
ns1  A   192.168.74.204
ns2  A   192.168.74.205
ns.nms  A   192.168.74.203  ; 为子域的name server配置解析的ip
    IN MX 10 mail.beeworkshop.com.
mail A  133.40.19.1
www     A       133.40.19.20
    A   133.40.19.21
    A   133.40.19.22
    A   133.40.19.29
ftp A   133.40.19.3
hadoop A  133.40.19.4
3. 子域的配置

子域需要配置转发策略

vim /etc/named.rfc1912.zones
========================================================================
zone "beeworkshop.com" IN { // 父域的转发策略
    type forward;
    forward only;
    forwarders { 192.168.74.204; }; //多个地址使用分号分割
};

zone "nms.beeworkshop.com" IN { //子域的解析配置
    type master;
    file "nms.beeworkshop.com.zone";
    allow-update { none; };
};

转发策略forward后边的关键字

  • only
    only参数表示本机无法解析的域名全部转发至forwarders,且仅转发给forwarders,如果forwarders无法帮助我们解析的话,就转而向根域服务器发起请求。
  • first
    first参数表示把所有父域的域名全部转发至forwarders去解析。

子域的数据文件配置

$TTL 1D
@       IN SOA  nms.beeworkshop.com. admin.nms.beeworkshop.com. (
                                        5       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
	NS  ns
ns  A   192.168.74.203
    IN MX 10 mail
mail A  133.40.19.10
www A   133.45.3.2
ftp A   133.45.3.4
4. 解析测试
# 父NS可以解析父A记录(DNS)
nslookup www.beeworkshop.com 192.168.74.204
# 父NS可以解析子A记录(子域委派)
nslookup www.nms.beeworkshop.com 192.168.74.204
# 子NS可以解析子A记录(DNS)
nslookup www.nms.beeworkshop.com 192.168.74.203
# 子NS可以解析父A记录(解析转发)
nslookup www.beeworkshop.com 192.168.74.203 # 非权威应答

五、参考文献

  • https://www.linuxprobe.com/chapter-13.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值