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 实验的主要内容,如果未能解决你的问题,请参考以下文章

DNS and BIND

DNS and BIND

DNS and BIND 笔记总结

DNS and BIND

DNS服务解析实验

Linux搭建基于BIND的DNS服务器