Linux中部署DNS分离解析技术
定义
由于现在网站访问量越来越大,如果把服务器部署在一个点,则远处的客户端就访问得特别慢。为解决此问题,可分布部署网站服务器,然后在使用DNS服务的分离解析功能,即可让位于不同地理范围内的客户端通过访问相同的网址,而从不同的服务器获取到相同的数据。
搭建服务环境需求
主机名称 | 操作系统 | IP地址 |
DNS服务器 | RHEL7 |
北京网络:127.71.115.10 美国网络:106.185.25.10 |
国内客户端 | RHEL7 | 122.71.115.20 |
国外客户端 | RHEL7 | 106.185.25.20 |
步骤一:修改bind服务程序的主配置文件,把第11行的监听端口与第17行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第51-54行根域信息删除。
[root@www named]# vi /etc/named.conf
10 options {
11 listen-on port 53 { any; }; ## 设定任何网卡都可以提供DNS服务
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; }; ## 任何用户均可使用DNS查询服务
51 #zone "." IN { ## 注释掉 51-54 行,与分离解析服务冲突
52 # type hint;
53 # file "named.ca";
54 #};
步骤二:编辑区域配置文件,把区域配置文件原有的数据清空,按照以下格式写入参数
[root@www named]# vi /etc/named.rfc1912.zones
acl "china" { 122.71.115.0/24; };
acl "american" { 106.185.25.0/24; };
view "china" {
match-clients { "china"; };
zone "linuxprobe.com" {
type master;
file "linuxprobe.com.china";
};
};
view "american" {
match-clients { "american"; };
zone "linuxprobe.com" {
type master;
file "linuxprobe.com.american";
};
};
步骤三:建立数据配置文件,分别通过模板文件创建两份不同名称的区域数据文件,名称与上面区域配置文件参数相对应
[root@www ~]# cd /var/named/
[root@www named]# cp -a named.localhost linuxprobe.com.china
[root@www named]# cp -a named.localhost linuxprobe.com.american
[root@www named]# vi linuxprobe.com.china
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com. #域名服务器记录
ns IN A 122.71.115.10 #地址记录(ns.linuxprobe.com)
www IN A 122.71.115.15 #地址记录(www.linuxprobe.com)
[root@www named]# vi linuxprobe.com.american
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.linuxprobe.com. #域名服务器记录
ns IN A 106.185.25.10 #地址记录(ns.linuxprobe.com)
www IN A 106.185.25.15 #地址记录(www.linuxprobe.com)
步骤四:重启named服务程序。将服务DNS服务器地址设置为域名地址
[root@www named]# nmtui
步骤五:模拟北京客户段地址,此时地址设置范围为:122.71.115.1-255。域名地址为:DNS服务器地址。注:设置地址时不要与域名、广播地址重复即可。
[root@client named]# nmtui
重启网卡服务
[root@client ~]# systemctl restart network
[root@client ~]# ifup ens33
测试网络连通性
使用nslookup命令测试结果
dig命令可以更加详细的显示DNS域名查询结果
这时如果还是解析不了的话可以把可能与iptables 默认策略有关,在服务端使用 iptables -F 命令。
模拟国外客户端地址,地址范围为:106.185.25.1-255,
[root@client named]# nmtui
测试网络连通性
测试解析结果