DNS服务器,多区域dns,特殊解析,DNS子域授权,主/从DNS服务器,缓存DNS,Split分离解析

DNS服务器
DNS正向解析:根据注册的域名查找其对应的IP地址
DNS反向解析:根据IP地址查找对应的注册域名 

DNS服务器资源解析记录有哪些?
    NS:声明DNS服务器解析记录
    A:正向解析记录
    CNAME:解析记录别名

FQDN完全合格的域名:主机头部信息+注册的域名

BIND服务解析

bind-chroot-9.11.4-16.P2.el7_8.6.x86_64      ==>>域名服务包
bind-9.11.4-16.P2.el7_8.6.x86_64             ==>>提供虚拟根支持,牢笼政策
-运行是的虚拟根环境:/var/named/chroot
-系统服务:named
-默认端口:TCP/UDP 53(DNS默认端口号)
-主配置文件:/etc/named.conf    ==>>设置本dns服务器负责的域名
-地址库文件:/var/named/    ==>>域名与IP对应关系

1.安装bind-chroot与bind软件
[root@svr7 ~]# yum install -y bind-chroot bind
[root@svr7 ~]# rpm -q bind-chroot bind

2.修改主配置文件 
[root@svr7 ~]# cp /etc/named.conf /etc/named.conf.bak   ==>>备份配置文件
[root@svr7 ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };            ==>>指定监听本机所有IP的53端口
        directory       "/var/named";          ==>>指定地址库文件存放路径
};

zone "tedu.cn" IN {          ==>>负责的域名
        type master;         ==>>dns服务器为主服务器
        file "tedu.cn.zone";          ==>>地址库文件名字
};

3.建立新的地址库文件
    保证named有文件的读取权限
[root@svr7 named]# cd /var/named/ 
[root@svr7 named]# ls
chroot  dynamic   named.empty      named.loopback
data    named.ca  named.localhost  slaves    
[root@svr7 named]# cp -p named.localhost tedu.cn.zone      ==>>拷贝模板文件(-p 文件权限一同拷贝)至新的地址库。(named.localhost地址库的模板文件)
[root@svr7 named]# ls -al
-rw-r-----.  1 root  named  152 6月  21 2007 named.localhost
-rw-r-----.  1 root  named  152 6月  21 2007 tedu.cn.zone
[root@svr7 named]# vim tedu.cn.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
tedu.cn.  NS      svr7          ==>>声明域名解析的服务器为svr7
svr7      A       192.168.4.7   ==>>声明svr7的ip地址
www       A       1.1.1.1       ==>>测试dns

[root@svr7 named]# systemctl restart named
测试时关闭两台机器的防火墙和selinux
[root@pc207 ~]# systemctl stop firewalld
[root@pc207 ~]# setenforce 0
[root@pc207 ~]# yum install -y bind-utils   ==>>安装nslookup软件
[root@pc207 ~]# nslookup www.tedu.cn        ==>>测试
            
===============================================================================
多区域dns

[root@svr7 named]# vim /etc/named.conf
options {
    directory     "/var/named";
};

zone "tedu.cn" IN {
    type master;
    file "tedu.cn.zone";
};

zone "qq.com" IN {                  ==>>新增一个区域
    type master;
    file "qq.com.zone";
};
[root@svr7 named]# cp -p tedu.cn.zone qq.com.zone
[root@svr7 named]# vim qq.com.zone 
$TTL 1D
@    IN SOA    @ rname.invalid. (
                    0    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
qq.com.        NS    svr7
svr7        A    192.168.4.7
www         A   3.3.3.3
[root@pc207 ~]# systemctl restart named

===========================================================================

特殊解析
1.DNS轮询(了解)
基于DNS的站点负载均衡
-一个域名-->多个不同IP地址
-每个ip提供镜像内容

2.泛域名解析
[root@svr7 named]# vim tedu.cn.zone 
tedu.cn.        NS        svr7
svr7            A        192.168.4.7
www             A       1.1.1.1
ftp             A       2.2.2.2
*               A       10.101.101.10         ==>>添加此行数据
[root@svr7 named]# systemctl restart named
测试
[root@pc207 ~]# nslookup wssssssssww.tedu.cn
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    wssssssssww.tedu.cn
Address: 10.101.101.10

3.有规律的泛域名解析
    内置函数:$GENERATE 造数工具
[root@svr7 named]# vim tedu.cn.zone
tedu.cn.             NS         svr7
svr7                 A         192.168.4.7
www                     A       1.1.1.1
ftp                     A       2.2.2.2
*                      A       10.101.101.10
$GENERATE 1-10 pc$     A       10.0.0.$           ==>>pc1-10.tedu.cn对应10.0.0.1-10
[root@svr7 named]# systemctl restart named
测试
[root@pc207 ~]# nslookup pc1.tedu.cn
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    pc1.tedu.cn
Address: 10.0.0.1

[root@pc207 ~]# nslookup pc10.tedu.cn
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    pc10.tedu.cn
Address: 10.0.0.10

4.解析记录别名
[root@svr7 named]# vim tedu.cn.zone 
tedu.cn.        NS      svr7
svr7            A       192.168.4.7
www             A       1.1.1.1
ftp             A       2.2.2.2
*               A       10.101.101.10
$GENERATE 1-10 pc$ A 10.0.0.$
tts             CNAME   ftp             ==>>ftp与tts的IP相同,设置别名
[root@svr7 named]# systemctl restart named
测试
[root@pc207 ~]# nslookup tts.tedu.cn
Server:        192.168.4.7
Address:    192.168.4.7#53
tts.tedu.cn    canonical name = ftp.tedu.cn.   ==>>别名等于name = ftp.tedu.cn.
Name:    ftp.tedu.cn
Address: 2.2.2.2

===============================================================================

DNS子域授权:
 父域:qq.com www.qq.com
 子域:bj.qq.com
 父域解析qq.com子域解析bj.qq.com
上述配置了一台dns服务器,在另一台服务器配置子服务器
[root@pc207 ~]# yum install -y bind-chroot bind
[root@pc207 ~]# cp /etc/named.conf /etc/named.conf.bak
[root@pc207 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
};

zone "bj.qq.com" IN {
        type master;
        file "bj.qq.com.zone";
};
[root@pc207 ~]# cd /var/named/
[root@pc207 named]# cp -p named.localhost bj.qq.com.zone
[root@pc207 named]# vim bj.qq.com.zone 
bj.qq.com.    NS    pc207
pc207        A    192.168.4.207
www            A    20.21.22.23
在主DNS进行授权子域
[root@svr7 named]# vim /var/named/qq.com.zone
qq.com.         NS      svr7
bj.qq.com.      NS      pc207             ==>>在此处声明子域dns服务器
svr7            A       192.168.4.7
pc207           A       192.168.4.207     ==>>在此处解析子域dns服务器IP
www             A       3.3.3.3
[root@svr7 named]# systemctl restart named
测试
[root@svr10 ~]# nslookup www.bj.qq.com 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Non-authoritative answer:
Name:    www.bj.qq.com
Address: 20.21.22.23

递归解析:
    主DNS服务器与其他服务器交互,最终将解析的IP带回来
迭代解析:
    主DNS服务器解析结果,告诉你下一个DNS服务器的IP,自己去查询

===============================================================================

主/从DNS服务器架构:
    解决单点故障,主DNS服务器故障时,从DNS服务继续提供服务
虚拟机svr7:主DNS服务器
虚拟机pc207:从DNS服务器
主DNS服务器:
1.修改主配置文件,授权从服务器的IP地址
[root@svr7 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
        allow-transfer { 192.168.4.207; };         ==>>授权从服务器的IP地址
};

zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};

2.修改地址库文件
[root@svr7 ~]# vim /var/named/tedu.cn.zone    ==>>一个域名的地址库
tedu.cn.        NS      svr7
tedu.cn.        NS      pc207             ==>>添加从服务器的声明
svr7            A       192.168.4.7
pc207           A       192.168.4.207    ==>>添加从服务器的ip
[root@svr7 ~]# systemctl restart named

从服务器:
1.建立一个新的区域:
[root@pc207 ~]#  vim /etc/named.conf
options {
        directory       "/var/named";
};

zone "tedu.cn" IN {
        type slave;              ==>>类型为从服务器
        file "/var/named/slaves/tedu.cn.slave";   ==>>从主服务器拷贝地址库文件至本地的文件名(其所在目录,named用户要具备写的权限)
        masters { 192.168.4.7; };           ==>>主DNS服务器
};
[root@pc207 ~]# ls -ld /var/named/slaves       ==>>默认在此有一个目录named具备写的权限
drwxrwx--- 2 named named 6 6月   1 23:26 /var/named/slaves
[root@pc207 ~]# systemctl restart named
[root@pc207 ~]# ls /var/named/slaves/
tedu.cn.slave

主从数据同步:
    只有主DNS能改变数据
    当数据修改时,必须由管理员手动修改版本号,版本号数字要越来越大
主服务器
[root@svr7 ~]# vim /var/named/tedu.cn.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                               2020061412       ; serial    ==>>数据的版本号,由10位数字组成
                                        1D      ; refresh   ==>>没隔多久主从同步一次
                                        1H      ; retry     ==>>重试时间
                                        1W      ; expire    ==>>失效时间
                                        3H )    ; minimum   ==>>失败记录的记忆时间
tedu.cn.        NS      svr7
tedu.cn.        NS      pc207
svr7            A       192.168.4.7
pc207           A       192.168.4.207
www             A       1.1.1.1
ftp             A       2.2.2.2
*               A       10.101.101.10
$GENERATE 1-10 pc$ A 10.0.0.$
tts             CNAME   ftp

===============================================================================

缓存DNS:
    缓存解析结果,加速解析
虚拟机svr7:真DNS服务器
虚拟机pc207:缓存DNS服务器
[root@pc207 ~]#  vim /etc/named.conf
options {
        directory       "/var/named";
        forwarders { 192.168.4.7; };        ==>>转发给真正的DNS服务器
};
[root@pc207 ~]# systemctl restart named

===============================================================================

Split分离解析:
当收到客户机的DNS查询请求的时候
能区分客户机的来源地址
为不同类别的客户机,提供不同的解析结果(IP地址)
为不同类别的客户机,提供最近的服务器资源

BIND的view视图
    1)由上到下一次匹配
    2)每一个客户端都要找到自己的类
    3)所有的zone都在view中

单区域的分离解析:
[root@svr7 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
        allow-transfer { 192.168.4.207; };
};

view "nsd" {                 ==>>分类的名称
match-clients{ 192.168.4.207; };        ==>>匹配客户机来源地址
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";         ==>>进入相应的地址库文件
};
};
view "nsd01" {
match-clients{ any; };
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.other";
};
};
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# vim tedu.cn.zone
[root@svr7 named]# cat tedu.cn.zone
$TTL 1D
@    IN SOA    @ rname.invalid. (
                2020061413    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
tedu.cn.        NS    svr7
svr7            A    192.168.4.7
www             A   1.1.1.1
[root@svr7 named]# cp -p tedu.cn.zone tedu.cn.other
[root@svr7 named]# vim tedu.cn.other 
$TTL 1D
@    IN SOA    @ rname.invalid. (
                2020061413    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
tedu.cn.        NS    svr7
svr7            A    192.168.4.7
www             A   2.2.2.2
[root@svr7 named]# systemctl restart named
测试
[root@svr10 ~]# nslookup www.tedu.cn 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.tedu.cn
Address: 2.2.2.2
[root@pc207 ~]# nslookup www.tedu.cn 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.tedu.cn
Address: 1.1.1.1

多区域的分离解析:
注意事项:
    1)每一个view中,zone的数量必须一致
    2)每一个view中,zone负责的域名必须一致
[root@svr7 named]# vim /etc/named.conf
options {
        directory       "/var/named";
};

view "nsd" {
match-clients{ 192.168.4.207; };
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};
zone "sina.com" IN {
        type master;
        file "sina.com.zone";
};
};
view "nsd01" {
match-clients{ any; };
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.other";
};
zone "sina.com" IN {
        type master;
        file "sina.com.other";
};

------------------------------------------------------------------------------------------------------------------

acl地址列表(选做):

view "nsd" {
match-clients{ 192.168.4.207; };
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};

可以写成:

acl "abc" = { 192.168.4.207; };

view "nsd" {
match-clients{ abc; };
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};

-------------------------------------------------------------------------------------------------------------------
[root@svr7 named]# cp -p tedu.cn.zone sina.com.zone
[root@svr7 named]# cp -p tedu.cn.other sina.com.other
[root@svr7 named]# vim sina.com.zone 
sina.com.       NS      svr7
svr7            A       192.168.4.7
www             A       1.2.3.4
[root@svr7 named]# vim sina.com.other 
sina.com.       NS      svr7
svr7            A       192.168.4.7
www             A       2.2.3.4                              
[root@svr7 named]# systemctl restart named
测试
[root@pc207 ~]# nslookup www.tedu.cn 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.tedu.cn
Address: 1.1.1.1
[root@pc207 ~]# nslookup www.sina.com 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.sina.com
Address: 1.2.3.4

[root@svr10 ~]# nslookup www.tedu.cn 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.tedu.cn
Address: 2.2.2.2
[root@svr10 ~]# nslookup www.sina.com 192.168.4.7
Server:        192.168.4.7
Address:    192.168.4.7#53
Name:    www.sina.com
Address: 2.2.3.4


 

你可能感兴趣的:(服务器)