天天看点

8.主从DNS+子域DNS

主DNS:www.rj.com  192.168.1.22/24

从DNS:ftp.rj.com  192.168.1.33/24

主DNS配置

  1. 安装DNS软件包:

#yum install bind bind-utils -y

      2. 配置相关配置文件

  • /etc/named.conf(为DNS主配置文件,不包含DNS区域数据)
  • /etc/named.rfc1912.zones(包含DNS正反向解析区域内容格式)
  • /var/named/(目录为DNS数据库文件存放目录,正反向区域解析文件都放在这里)
  • /etc/rc.d/init.d/named(为DNS服务的服务脚本

3.添加或修改主配置文件:#vi /etc/named.conf

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";

allow-query { any; }; 允许所有主机访问

allow-transfer { 192.168.1.33; };  区域传送,只允许从服务器学习的IP 地址,多个IP用分号隔开

notify   yes; 开启通知,主服务器更新时通知从服务器

recursion yes; 开启递归查询

  …

};

添加区域如下:

  • 正向区域

zone "dj.com" IN {

type master; 表明为主DNS

file "rj.com.zone"; 保存A记录的文件名(网址和IP 地址映射记录)

allow-update { none; };

};

  • 反向区域

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

type master;

file "192.168.1.zone"; 指针记录的文件名

allow-update { none; };

};

include "/etc/named.rfc1912.zones";配置正反向区域可以参照这个路径下的文件

include "/etc/named.root.key";

  1. 创建正向解析文件和反向解析文件

#cd  /var/named

拷贝模板:

#cp  -p  named.localhost  rj.com.zone

#cp  -p  named.loopback  192.168.1.zone

  1. 配置A记录和PTR记录

配置/var/named下的rj.com.zone和192.168.1.zone文件

A记录

#vi  /var/named/rj.com.zone

$TTL  1D

@    IN  SOA  rj.com  root (

0   ; serial

1D  ; refresh

1H  ; retry

1W  ; expire

3H )  ; minimum

@      IN     NS      www.rj.com.

@      IN     NS      ftp.rj.com.  (添加从服务器的NS解析记录)

www   IN      A       192.168.1.22

ftp     IN      A       192.168.1.33  (添加从服务器的A记录)

PTR记录

#vi  /var/named/rj.com.zone

$TTL 1D

@  IN  SOA  rj.com  root (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

@      IN     NS      www.rj.com.

@      IN     NS      ftp.rj.com.  (添加从服务器的NS解析记录)

22      IN    PTR      www.rj.com.

33      IN    PTR      ftp.rj.com.   (添加从服务器的PTR记录)    

注意:

  • 添加正反解析文件时,要记得添加从DNS服务器的NS记录、A记录和PTR记录。 
  • 进出文件要修改序列号,否则从DNS服务器不会更新。
  • 编辑正反向解析文件时,要把原有的记录全部删掉,否则会有回路。
  1. 进行语法检查:

[[email protected] ~]# named-checkconf

  1. 重启服务: systemctl  restart  named.service
  2. 指定DNS服务器的IP地址:

#vi  /etc/resolv.conf

修改内容:

   search  rj.com

   nameserver  192.168.1.22

nslookup

  1. 测试  host

         dig

从DNS配置

  1. 编辑从服务器的/etc/named.conf文件:#vi  /etc/named.conf

options {

listen-on port 53  { any; };

     allow-query      { any; };

     recursion yes;

     dnssec-enable no;

dnssec-validation no;

};

添加区域如下:

  • 正向区域

zone "dj.com" IN {

type slave;               ##表明本机是从服务器

       file "slaves/rj.com.zone";   ##将同步后的文件放置在哪里,这里是相对路径,实际路径为/var/named/slaves/rj.com.zone

       masters {192.168.1.22; };  ##指定主服务器的ip地址

};

  • 反向区域

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

type slave;               ##表明本机是从服务器

file "slaves/192.168.1.zone";   

##将同步后的文件放置在哪里,这里是相对路径,实际路径为/var/named/slaves/192.168.1.zone

    masters { 192.168.1.22; };  ##指定主服务器的ip地址

};

include "/etc/named.rfc1912.zones";配置正反向区域可以参照这个路径下的文件

include "/etc/named.root.key";

  • 进行语法检查:

[[email protected] ~]# named-checkconf

  • 重新启动服务:

[[email protected] ~]# systemctl  restart  named.service

  • 指定DNS服务器的IP地址:

#vi  /etc/resolv.conf

修改内容:

   search  rj.com

   nameserver  192.168.1.22  ##指定的DNS为主DNS的IP

  1. 测试:
  • 查看从服务器已经取得解析数据库文件

[[email protected] ~]# ls  /var/named/slaves/

rj.com.zone   192.168.1.zone

用从服务器解析www.rj.com

子域DNS

父域DNS:ns1.rj.com  192.168.1.33

子域DNS:ns1.ops.rj.com  192.168.1.22

设置父域DNS服务器

  • 编写文件/etc/named.conf,添加区域:

#vi  /etc/named.conf

添加区域如下:

  • 正向区域

zone "dj.com" IN {

type master; 表明为主DNS

file "rj.com.zone"; 保存A记录的文件名(网址和IP 地址映射记录)

allow-update { none; };

};

  • 反向区域

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

type master;

file "192.168.1.zone"; 指针记录的文件名

allow-update { none; };

  • 子域区域:添加指向子域的转发器

将查询子域的请求转发给子域DNS

zone "ops.rj.com" IN {

type forward;

forward only;

forwarders { 192.168.1.22; };

};

  • 子域授权(序列号手动+1)

#vi  /var/named/rj.com.zone

$TTL  1D

@    IN  SOA  rj.com  root (

0   ; serial  序列号手动+1

1D  ; refresh

1H  ; retry

1W  ; expire

3H )  ; minimum

@      IN     NS      ns1.rj.com.

ns1        IN     A       192.168.1.33

ops     IN     NS      ns1.ops       添加子域的NS记录

ns1.ops       IN          A             192.168.1.22   添加子域的A记录

  • 检查配置文件语法:#named-checkconf
  • 配置完成后重载配置文件:#rnfc  reload

设置子域DNS服务器

  • 编写主配置文件,添加区域

#vi  /etc/named.conf

recursion  yes;

notify  yes;

zone “ops.rj.com” IN {

              type master;

              file “ops.rj.com.zone”;

};

  • 编写区域文件,添加A记录

#vi  /var/named/ops.rj.com.zone

$TTL  1D

@    IN  SOA  ops.rj.com  root (

0   ; serial  序列号手动+1

1D  ; refresh

1H  ; retry

1W  ; expire

3H )  ; minimum

@      IN     NS      ns1

ns1      IN     A       192.168.1.22

www      IN     A       192.168.1.33

  • 检查配置文件语法:#named-checkconf
  • 配置完成后重载配置文件:#rnfc  reload

注意

若将查询子域的请求转发给子域DNS服务器,首选DNS写父域的;若将查询父域的请求转发给父域DNS服务器,则需要在子域DNS服务器中配置父域的转发器,首选DNS写子域的。