DNS and BIND 实验
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS and BIND 实验相关的知识,希望对你有一定的参考价值。
DNS and BIND实验
模拟过程:客户端想访问www.magedu.com。客户端发请求到电信的DNS服务器(找www.magedu.com),电信的DNS服务器找根名称服务器,根名称服务器找com服务器,com服务器找magedu.com的名称服务器(这里master,一个slave)
实验准备:7台虚拟机,一台CentOS6当作客户端,6台CentOS6(一台本地DNS,一台根,一台com,一台magedu.com的主服务器,一台magedeu.com的从服务器,一台为www.magedu.com)
.
IP地址规划:
192.168.137.100:客户端,CentOS6 client
192.168.137.110:本地DNS服务器,CentOS6 localdns
192.168.137.120:根,CentOS6 rootdsn
192.168.137.130:com,CentOS6 com
192.168.137.140:magedu.com主,CentOS6 msaterdns
192.168.137.150:magedu.com从,CentOS6 slavedns
192.168.137.160:www.magedu.com,CentOS6 web
搭建顺序:搭建httpd服务 --> 搭magedu.com区域的主DNS --> 搭建magedu.com区域的从DNS --> 搭com区域的DNS --> 搭根DNS --> 搭本地DNS --> 客户端测试(在没完成一步后进行测试)
.
1、搭建web服务器www.magedu.com(192.168.137.160)
①、安装httpd包
# yum install httpd -y
②、修改访问主界面
# echo "Welcome to my DNS system" > /var/www/html/index.html
③、启动httpd服务
# service httpd start
④、在客户端上访问服务端
# curl 192.168.137.160
.
2、搭建magedu.com域主服务器(192.168.137.140)
①、安装bind
# yum install bind
②、修改bind的主配置文件,注释掉options中的下面两行,并允许从服务器同步主服务器的区域数据
# vim /etc/named.conf
> // listen-on port 53 { 127.0.0.1; };
> // allow-query { localhost; };
> transfer-allow { 192.168.137.150; }; //表示允许150从服务器同步数据
③、编辑/etc/named.rfc1912.zones文件,添加区域
# vim /etc/named.rfc.1912.zones
> zone "magedu.com" IN {
> type master; //代表这时magedu.com区域的主DNS服务器
> file "magedu.com.zone"; //区域的文件为/var/named/magedu.com.zone
> };
④、编辑/var/named/magedu.com.zone,为magedu.com区域添加区域数据
# vim /var/named/magedu.com.zone
$TTL 1D
@ IN SOA dns admin ( 20180925 1D 1H 1W 3H )
IN NS dns //magedu.com区域的主DNS服务器
IN NS dns2 //magedu.com区域的从DNS服务器
dns IN A 192.168.137.140
dns2 IN A 192.168.137.150
web-nginx IN A 192.168.137.160
www IN CNAME web-nginx
⑤、修改区域数据库文件magedu.com.zone的权限为640及属组named(只要named用户对于此文件有r权限即可)
# chmod 640 /var/named/magedu.com.zone
# chown :named /var/named/magedu.com.zone
⑥、启动named服务
# service named start
⑦、客户端上测试测试
# dig -t A www.magedu.com @192.168.137.140
.
3、搭建magedu.com区域从服务器(192.168.137.150)
①、安装bind
# yum install bind -y
①、编辑主配置文件
# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
allow transfer { none; }; //为了安全起见,从服务器不让其他服务器同步它的区域数据
③、编辑区域文件
#vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
masters { 192.168.137.140 }; //指明它的主服务器是192.168.137.140,从服务器上同步区域数据
file "slaves/magedu.com.zone";
};
④、启动服务
# service named start
⑤、查看/var/named/slaves目录下是否有从主服务器同步过来的数据
# ls -l /var/named/slaves
⑥、在192.168.137.100上测试192.168.137.150DNS解析
# dig -t A www.magedu.com @192.168.137.150
.
4、搭建com区域的服务器(192.168.137.130)
①、安装bind
# yum install bind
②、修改主配置文件/etc/named.conf
# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
③、为区域文件/etc/named.rfc1912.zones文件添加com区域
# vim /etc/named.rfc1912.zones
zone "com" IN {
type master;
file "com.zone";
};
④、编辑/var/named/com.zone文件为com区域增加区域数据
# vim /var/named/com.zone
$TTL 1D
@ IN SOA cdns cadmin ( 20180925 1D 1H 1W 1H )
IN NS cdns
cdns.com. IN A 192.168.137.130
magedu IN NS dns
dns IN A 192.168.137.140
magedu IN NS dns2
dns2 IN A 192.168.137.150
⑤、修改区域数据文件的权限和属组
# chmod 640 /var/named/com.zone
# chmod :named /var/named/com.zone
⑥、启动服务
# service named start
⑦、测试
# dig -t A www.magedu.com @192.168.137.130
.
5、搭建根DNS服务器(192.168.137.120)
①、安装bind
# yum install bind -y
②、修改主配置,注释两行
# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
③、添加区域,并注释掉主配置文件中的zone "." IN {}那一段(因为自己本身就是根,所以不需要找根)
# vim /etc/named.rfc1912.zones
zone "." IN {
type master;
file "root.zone";
};
-------------------------------------------------------------------------------------------------
# vim /etc/named.conf
#zone "." IN {
# type hint;
# file "named.ca";
#};
④、添加区域数据
# vim /var/named/root.zone
$TTL 1D
@ IN SOA dnsserver admin ( 20180925 1D 1H 1W 3H )
NS dnsserver
com NS dns
dnsserver A 192.168.137.120
dns A 192.168.137.130
⑤、修改区域数据文件的权限和属组
# chmod 640 /var/named/root.zone
# chown :named /var/named/root.zone
.
6、搭建本地DNS服务器(192.168.137.110)
①、安装bind
# yum install -y bind
②、修改主配置文件(注释掉两行,关闭dnssec)
# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
dnssec-enable no; //利用DNS加密做验证,yes会导致无法转发
dnssec-validation no;
③、修改named.ca(因为我们只搭了一个rootDNS服务器,所以删除其他12个)
# vim /var/named/name.ca
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 192.168.137.120
.
7、配置客户端(192.168.137.100)
①、为网卡添加DNS指向
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:0C:29:E5:AA:CD
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.137.100
DNS1=192.168.137.110
②、重启网络服务
# service network restart
③、查看文件/etc/resolv.conf,观察本机DNS指向
# cat /etc/resolv.conf
# Generated by NetworkManager
domain lan
search lan
nameserver 192.168.137.110
以上是关于DNS and BIND 实验的主要内容,如果未能解决你的问题,请参考以下文章