CC00016.LinuxNetwork——|Linux&DNS服务.V05--|——|4台server|智能DNS|分离解析|

一、智能DNS(分离解析)
### --- 智能DNS(分离解析)

### --- 实验原理:
~~~     #DNS分离解析即将相同域名解析为不同的IP地址,
~~~     显示网络中一些网站为了让用户有更好的体验效果解析速度更快,
~~~     就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度。
二、不做分离解析的时候配置文件之间的管理
### --- 不做分离解析的时候配置文件之间的管理

~~~     用户请求进来后进入主配置文件;然后会有一个访问的平衡限制来决定是否运行访问,
~~~     若允许则通过include标签调用named.rfc1912.zones的配置文件,
~~~     该配置文件配置着对应的正向解析和反向解析声明的域,
~~~     然后对应的会有正向配置文件和反向配置文件各自写各自的解析内容,
~~~     若用户访问的是正向请求,
~~~     则对应的访问正向解析的配置文件找到正向的数据配置文件进行解析,
~~~     若是反向则找反向。标准DNS的模式。
三、分离解析配置解析关系
### --- 分离解析配置解析关系

~~~     来自于不同的客户端来源地址当访问到DNS分离解析服务器的时候,
~~~     主配置文件就会匹配你是来自于哪里的客户端,
~~~     若你是来自于内网的就匹配到内网的配置文件,若是外网的就匹配到外网的配置文件,
~~~     每一个局域配置文件就有对应的数据配置文件,也就对应的正向和反向解析配置文件。
四、实验环境
### --- 实验环境:

~~~     一台内网测试机(单网卡)
~~~     一台网关+DNS(双网卡)
~~~     一台外网测试机(但网卡)
~~~     一台web服务器(双网卡)
~~~     先关闭服务器和客户机的防火墙和selinux
### --- 实验步骤:
~~~     安装bind软件
~~~     内核配置文件开启路由转发,修改/etc/sysctl/conf
~~~     修改主配置文件/etc/named.conf

view lan {
        match-clients { 192.168.10.0/24; };
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/lan.zones";
};
view wan {
        match-clients { any; };
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/wan/zones";
};
#include "/etc/named.rfc1912.zones";
inclued "/etc/named.root.key";
~~~     注意:不同的解析放在了各自的局域配置文件(便于区分和维护更新)
### --- 生成自己定义的局域文件(方向解析省略掉了)
cp -a named.rfc1912.zones lan
cp -a named.rfc1912.zones wan

### --- 配置数据文件
~~~     配置内网的正向解析文件
~~~     配置外网的正向解析文件
### --- 重启服务
service named restart

### --- 效果测试
~~~     内网客户端网卡配置
~~~     将DNS和网关都指向为网关服务器的内网口地址
~~~     外网客户端网卡配置
~~~     将DNS和网关都指向为网关服务器的外网口地址
一、智能DNS;DNS的分离解析
### --- 智能DNS;DNS的分离解析
### --- ——>硬件环境<——

centos6.x-server10:192.168.10.10                      DNS   内网         lan client
centos6.x-server20:192.168.10.20    100.100.100.20    DNS   web server   两张网卡
centos6.x-server30:192.168.10.30    100.100.100.30    DNS   server       两张网卡
centos6.x-server40:100.100.100.40                     DNS   外网         wan client
二、DNS分离解析
### --- DNS分离解析:环境准备:
### --- 网卡及地址规划说明

vmnat10:192.168.10.0/24
vmnat11:100.100.100.0/24
centos6.x-server10:  vmnat10:192.168.10.10     
centos6.x-server20:  vmnat10:192.168.10.20  vmnat11:100.100.100.20
centos6.x-server30:  vmnat10:192.168.10.30  vmnat11:100.100.100.30
centos6.x-server40:                         vmnat11:100.100.100.40
### --- lan client网卡配置:

[root@server10 ~]#  vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.30
DNS1=192.168.10.30
[root@server10 ~]#  service network restart
### --- web server网卡配置:

[root@server20 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.20
NETMASK=255.255.255.0 
[root@server20 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=100.100.100.20
NETMASK=255.255.255.0 
[root@server20 ~]# service network restart
### --- DNS server网卡配置  

[root@server30 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0  
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.30
NETMASK=255.25.255.0
[root@server30 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=100.100.100.30
NETMASK=255.255.255.0
[root@server30 ~]# service network restart
### --- wan 网卡配置 

[root@server40 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  
BOOTPROTO=static
NAME=ens33
ONBOOT=yes
IPADDR=100.100.100.40
NETMASK=255.255.255.0
GATEWAY=100.100.100.30
DNS1=100.100.100.30 
[root@server40 ~]# service network restart
centos6.x-server20:192.168.10.20    100.100.100.20        DNS web server     两张网卡
### --- 安装Apache服务

[root@server20 ~]#  yum install -y httpd
[root@server20 ~]#  vim /var/www/html/index.html 
This is the DNS server fenlijiexi.com 
[root@server20 ~]# service httpd restart
### --- 通过内外网测试Apache服务是否可以运行

[root@server10 ~]#  curl 192.168.10.20
This is the DNS server fenlijiexi.com 
[root@server40 ~]#  curl 100.100.100.20
This is the DNS server fenlijiexi.com
centos6.x-server30:192.168.10.30    100.100.100.30        DNS  server            两张网卡
### --- 安装bind服务

[root@server30 ~]# yum install -y bind
### --- 开启内核路由转发

[root@server30 ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@server30 ~]# sysctl -p
net.ipv4.ip_forward = 1
### --- 修改主配置文件,添加参数

[root@server30 ~]# vim /etc/named.conf 
options {
        listen-on port 53 { any; };                                 // 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; };
view lan {                                                          // 内网的视图声明
        match-clients { 192.168.10.0/24; };                         // IP访问的凭令;大括号写来自哪里的客户端;匹配成功则调用这个的局域的配置文件include "lan.zones";
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/lan.zones";                                   // 添加一条include声明
};

view wan {                                                          // 外网的视图声明
        match-clients { any; };                                     // 匹配的顺序是自上而下,不可以写100.100.100.0/24而是any所有。
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/wan.zones";                                   // include只能写在lan或者wan标签当中,因为include和zones属于同级别的。
};
#include "/etc/named.rfc1912.zones";                                // include用不到了,注释掉
include "/etc/named.root.key";
### --- 配置分析解析内外网局域解析配置文件

[root@server30 ~]# cp -a /etc/named.rfc1912.zones /etc/lan.zones    // 配置正向的内网的配置文件配置
[root@server30 ~]# vim /etc/lan.zones     
zone "atyanqi.com" IN {
        type master;
        file "lan.localhost";
        allow-update { none; };
};
[root@server30 ~]# cp -a /etc/named.rfc1912.zones /etc/wan.zones    // 配置正向的外网的配置文件配置
[root@server30 ~]# vim /etc/wan.zones 
zone "atyanqi.com" IN {
        type master;
        file "wan.localhost";
        allow-update { none; };
};
### --- 生成各自的数据配置文件

[root@server30 ~]# cp -a /var/named/named.localhost /var/named/lan.localhost 
[root@server30 ~]# vim /var/named/lan.localhost                     // 内网数据配置文件
$TTL 1D
@       IN SOA  atyanqi.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.atyanqi.com.
dns     A       192.168.10.30
www     A       192.168.10.20    
[root@server30 ~]# cp -a /var/named/lan.localhost /var/named/wan.localhost   
[root@server30 ~]# vim /var/named/wan.localhost                     // 外网数据配置文件
$TTL 1D
@       IN SOA  atyanqi.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.atyanqi.com.
dns     A       100.100.100.30
www     A       100.100.100.20
### --- 启动服务:启动成功,说明DNS服务器的配置是正确的。

[root@server30 ~]# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]
centos6.x-server10:192.168.10.10                                      DNS 内网 lan client
### --- 内网测试验证:

[root@server10 ~]# curl www.atyanqi.com
This is the DNS server fenlijiexi.com                               // 可以正常解析
[root@server10 ~]# yum install -y bind-utils
[root@server10 ~]# nslookup www.atyanqi.com                         // 解析到内网的解析地址
Server:     192.168.10.30
Address:    192.168.10.30#53

Name:   www.atyanqi.com
Address: 192.168.10.20
centos6.x-server40:100.100.100.40                                   DNS  外网 wan client
### --- 外网测试验证:

[root@server40 ~]# curl www.atyanqi.com
This is the DNS server fenlijiexi.com                               // 可以正常解析
[root@server10 ~]# yum install -y bind-utils
[root@server40 ~]# nslookup www.atyanqi.com                         // 解析到外网的解析地址
Server:     100.100.100.30
Address:    100.100.100.30#53

Name:   www.atyanqi.com
Address: 100.100.100.20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值