码迷,mamicode.com
首页 > 其他好文 > 详细

互联网DNS架构模拟

时间:2018-06-26 23:06:37      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:域服务   resolve   成功   sla   客户端   区域类   lis   sse   实验   

技术分享图片

本文模拟互联网的DNS架构,由1台客户端,1台运营商DNS服务器,1台根域服务器,1.com域服务器,两台DNS服务器做主从,两台Web服务器,共8台机器构成,实现互联网上的DNS解析模拟。

 

DNS服务的基础知识可参考上一篇博客http://blog.51cto.com/13695854/2132307

 

在此实验中配置完1台服务器就测试1台,以免故障堆积后不好排查,以下是各台服务器的配置

 

1Web服务器1

#192.168.30.8

yum -y install httpd  #安装httpd服务
hostname webserver1  #更改主机名为webserver1
echo "welcome to abc.com webserver 1" > /var/www/html/index.html
//设置Web主页显示welcome to abc.com webserver 1
systemctl restart httpd  #启动httpd服务

 

2Web服务器2

#192.168.30.9

yum -y install httpd  #安装httpd服务
hostname webserver2  #更改主机名为webserver2
echo "welcome to abc.com webserver 2" > /var/www/html/index.html
//设置Web主页显示welcome to abc.com webserver 2
systemctl restart httpd  #启动httpd服务

 

在客户机上测试Web服务器12成功

curl 192.168.30.8
curl 192.168.30.9

 技术分享图片 

 

3wind.comDNS服务器

#192.168.30.6

hostname dnsserver1  #更改主机名为dnsserver1
yum -y install bind  #安装DNS服务

 

vim /etc/named.conf  #修改主配置文件,在options大括号里进行以下操作

//    listen-on port 53 { 127.0.0.1; };  #注释掉此行
//    allow-query  { localhost; };  #注释掉此行
       #添加以下这一行,为了安全,只允许作为从的DNS服务器跟主DNS服务器进行数据同步
       allow-transfer { 192.168.30.7; }; 
dnssec-enable no;  #以下这两行dns安全选项改成no
dnssec-validation no;

 技术分享图片

vim /etc/named.rfc1912.zones  #修改主配置文件,添加如下内容

zone "abc.com" IN {
        type master;  #区域类型为主DNS服务器
        file "wind.com.zone";  #指定解析库文件
};

 

vim /var/named/wind.com.zones  #创建解析库文件,添加如下内容

$TTL 1D
@ IN SOA dns1.wind.com. admin.wind.com. ( 2 1D 2H 3D 1H )
        NS      dns1
        NS      dns2
dns1    A       192.168.30.6  #主DNS服务器自己
dns2    A       192.168.30.7  #从DNS服务器
websrv  A       192.168.30.8  #Web服务器1
websrv  A       192.168.30.9  #Web服务器2
www     CNAME   websrv
@       A       192.168.30.8
@       A       192.168.30.9
*       CNAME   www

 

# 修改权限

chgrp named wind.com.zone
chmod 640 wind.com.zone

 

# 重启DNS服务

systemctl start named

 

在客户机上测试,主DNS服务器解析Web服务器地址成功

 技术分享图片

 

4wind.comDNS服务器

#192.168.30.7

hostname dnsserver2  #更改主机名为dnsserver2
yum -y install bind

  

vim /etc/named.conf  #options大括号里进行以下操作

//    listen-on port 53 { 127.0.0.1; };  #注释掉此行
//    allow-query  { localhost; };  #注释掉此行
       #添加这一行,为了安全,作为从的DNS服务器不允许进行数据同步
       allow-transfer { none; };
dnssec-enable no;  #以下这两行dns安全选项改成no
dnssec-validation no;

  

vim /etc/named.rfc1912.zones  #创建解析库文件,添加如下内容

zone "abc.com" IN {
        type slave;  #区域类型为从DNS服务器
        masters { 192.168.30.6; };  #指定主DNS服务器
        file "slaves/wind.com.zone.slave";   #指定从DNS服务器的区域文件
};

 

# 重启DNS服务

systemctl restart named

  

在客户机上测试,从DNS服务器解析Web服务器地址成功

 技术分享图片

 

5.com域服务器

#192.168.30.5

hostname comdns  #更改主机名为comdns
yum -y install bind

 

vim /etc/named.conf  #options大括号里进行以下操作

//    listen-on port 53 { 127.0.0.1; };   #注释掉此行
//    allow-query  { localhost; };  #注释掉此行
dnssec-enable no;  #以下这两行dns安全选项改成no
dnssec-validation no;

  

vim /etc/named.rfc1912.zones  #创建解析库文件,添加如下内容

zone "com" {
        type master;
        file "com.zone";
};

 

vim /var/named/com.zone  #添加如下内容

$TTL 1D
@ IN SOA dns1.com. admin.com. ( 1 1D 2H 3D 3H )
        NS      dns1 
wind    NS      dns2 
wind    NS      dns3 
dns1    A       192.168.30.5  #.com域自己
dns2    A       192.168.30.6  #向下委派给主DNS服务器
dns3    A       192.168.30.7  #向下委派给从DNS服务器

 

# 修改权限

chgrp named com.zone
chmod 640 com.zone

 

# 重启DNS服务

systemctl restart named

  

在客户机上测试,.comDNS服务器解析Web服务器地址成功

 技术分享图片

 

6、根域服务器

#192.168.30.4

hostname rootdns  #更改主机名为rootdns
yum -y install bind

 

vim /etc/named.conf  #options大括号里进行以下操作

//    listen-on port 53 { 127.0.0.1; };   #注释掉此行
//    allow-query  { localhost; };  #注释掉此行
dnssec-enable no;  #以下这两行dns安全选项改成no
dnssec-validation no; 
#注释掉下面四行
#zone "." IN {
#        type hint;
#        file "named.ca";
#};

 

vim /etc/named.rfc1912.zones  #创建解析库文件,添加如下内容

zone "." {
        type master;
        file "root.zone";
};

 

vim /var/named/root.zone  #添加如下内容

$TTL 1D
@ IN SOA dns1. admin. ( 1 1D 2H 3D 1H )
        NS      dns1 
com     NS      dns2 
dns1    A       192.168.30.4  #根域自己
dns2    A       192.168.30.5  #向下委派给com域

 

# 修改权限

chgrp named root.zone
chmod 640 root.zone

 

# 重启DNS服务

systemctl restart named

  

在客户机上测试,根域DNS服务器解析Web服务器地址成功

 技术分享图片

 

7、电信DNS服务器

#192.168.30.3

hostname telecomdns  #更改主机名为telecomdns
yum -y install bind

 

vim /etc/named.conf  #options大括号里进行以下操作

//    listen-on port 53 { 127.0.0.1; };   #注释掉此行
//    allow-query  { localhost; };  #注释掉此行
dnssec-enable no;  #以下这两行dns安全选项改成no
dnssec-validation no;

  

vim /var/named/named.ca  #修改根域的解析库文件

;; ANSWER SECTION:  #此项只留下1条
.                       518400  IN      NS      a.root-servers.net.
;; ADDITIONAL SECTION:  #此项也只留下一条,并将IP改为192.168.30.4
a.root-servers.net.     3600000 IN      A       192.168.30.4

技术分享图片


在客户机上测试,电信DNS服务器解析Web服务器地址成功

 技术分享图片 


客户端测试

#192.168.30.2

hostname client  #更改主机名为client
yum -y install elinks  #安装elinks包,用以访问网页

 

vim /etc/resolve.conf

nameserver 192.168.30.3  #指定DNS服务器为电信DNS服务器192.168.30.3


dig www.wind.com  #客户机上直接测试成功

 技术分享图片


links www.wind.com  #访问www.wind.com成功,还能随机访问到webserver1和webserver2,实现了轮询

 技术分享图片

 技术分享图片

 

DNS服务器主从冗余性测试

把所有机器的DNS缓存清除

rndc flush

把主DNS服务器192.168.30.6down掉,或者拔掉网线

技术分享图片


在客户端上links www.wind.com,仍然成功,证明了DNS服务器主从冗余性

 技术分享图片

 


互联网DNS架构模拟

标签:域服务   resolve   成功   sla   客户端   区域类   lis   sse   实验   

原文地址:http://blog.51cto.com/13695854/2132978

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!