互联网DNS架构模拟
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互联网DNS架构模拟相关的知识,希望对你有一定的参考价值。
本文模拟互联网的DNS架构,由1台客户端,1台运营商DNS服务器,1台根域服务器,1台.com域服务器,两台DNS服务器做主从,两台Web服务器,共8台机器构成,实现互联网上的DNS解析模拟。
DNS服务的基础知识可参考上一篇博客http://blog.51cto.com/13695854/2132307
在此实验中配置完1台服务器就测试1台,以免故障堆积后不好排查,以下是各台服务器的配置
1、Web服务器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服务
2、Web服务器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服务器1和2成功
curl 192.168.30.8 curl 192.168.30.9
3、wind.com主DNS服务器
#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服务器地址成功
4、wind.com从DNS服务器
#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
在客户机上测试,.com域DNS服务器解析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.6给down掉,或者拔掉网线
在客户端上links www.wind.com,仍然成功,证明了DNS服务器主从冗余性
以上是关于互联网DNS架构模拟的主要内容,如果未能解决你的问题,请参考以下文章