文章目录
1 实战案例:综合案例,实现Internet的DNS服务架构
1.1 实验目的
搭建DNS实现Internet dns架构
思路:
各主机的网络配置 --> WEB服务器的搭建 --> 配置magedu.org域的主DNS服务器 --> 配置magedu.org 域的从DNS服务器 --> 配置org域的主DNS服务器 --> 配置根域的主DNS服务器 --> 配置转发目标的DNS服务器 --> 配置本地只缓存DNS服务器 --> 客户端测试
1.2 环境要求
需要8台主机
DNS客户端:10.0.0.6/24
本地DNS服务器(只缓存):10.0.0.8/24
转发目标DNS服务器:10.0.0.18/24
根DNS服务器:10.0.0.28/24
org域DNS服务器:10.0.0.38/24
magedu.org域主DNS服务器:10.0.0.48/24
magedu.org域从DNS服务器:10.0.0.58/24
www.magedu.org的WEB服务器:10.0.0.68/24
1.3 前提准备
关闭SELinux
关闭防火墙
时间同步
1.4 实现步骤
1.4.1 各种主机的网络配置(参看上面的环境要求)
#下载bind客户端工具
[root@centos6 ~]#yum -y install bind-utils
#在客户端配置DNS服务器地址
[root@centos6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
NAME="System eth0"
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.0.0.6
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.8
[root@centos6 ~]# service network restart
1.4.2 实现web服务
#在web服务器10.0.0.68/24上实现
[root@centos8 ~]#yum -y install httpd
[root@centos8 ~]#echo www.magedu.org > /var/www/html/index.html
[root@centos8 ~]#systemctl enable --now httpd
1.4.3 实现magedu.org域的主DNS服务器
#在magedu.org域主DNS服务器10.0.0.48/24上实现
[root@centos8 ~]#yum -y install bind
[root@centos8 ~]#vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#只允许从服务器进行区域传输
allow-transfer { 10.0.0.58; };
[root@centos8 ~]#vim /etc/named.rfc1912.zones
#加上这段
zone "magedu.org" IN {
type master;
file "magedu.org.zone";
};
[root@centos8 ~]#vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
1
1D
1H
1W
3H )
NS master
NS slave
master A 10.0.0.48
slave A 10.0.0.58
www A 10.0.0.68
[root@centos8 ~]#chgrp named /var/named/magedu.org.zone
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload 不是第一次启动服务
1.4.4 实现magedu.org域的从DNS服务器配置
[root@centos8 ~]#yum -y install bind
[root@centos8 ~]#vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#不允许其它主机进行区域传输
allow-transfer { none; };
[root@centos8 ~]#vim /etc/named.rfc1912.zones
zone "magedu.org" IN {
type slave;
masters { 10.0.0.48; };
file "slaves/magedu.org.slave";
};
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload 不是第一次启动服务
[root@centos8 ~]#ll /var/named/slaves/magedu.org.slave #查看区域数据库文件是否生成
-rw-r--r-- 1 named named 319 Sep 15 15:15 /var/named/slaves/magedu.org.slave
1.4.5 实现org域的主DNS服务器
#在org域的主DNS服务器10.0.0.38/24上实现
[root@centos8 ~]#yum -y install bind
[root@centos8 ~]#vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
[root@centos8 ~]#vim /etc/named.rfc1912.zones
zone "org" IN {
type master;
file "org.zone";
};
[root@centos8 ~]#vim /var/named/org.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
1
1D
1H
1W
3D )
NS master
magedu NS megeduns1
magedu NS mageduns2
master A 10.0.0.38
mageduns1 A 10.0.0.48
mageduns2 A 10.0.0.58
[root@centos8 ~]#chgrp named /var/named/org.zone
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload #不是第一次启动服务
1.4.6 实现根域的主DNS服务器
#在根域的主DNS服务器10.0.0.28/24上实现
[root@centos8 ~]#yum -y install bind
[root@centos8 ~]#vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#将下面行改为:
zone "." IN {
type master;
file "root.zone";
};
[root@centos8 ~]#vim /var/named/root.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
1
1D
1H
1W
3D )
NS master
org NS orgns
master A 10.0.0.28
orgns A 10.0.0.38
#安全加固
[root@centos8 ~]#chgrp named /var/named/root.zone
[root@centos8 ~]#chmod 640 /var/named/root.zone
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload 不是第一次启动服务
1.4.6 实现转发目标的DNS服务器
#在转发目标的DNS服务器10.0.0.18/24上实现
[root@centos8 ~]#yum -y install bind
[root@centos8 ~]#vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
dnssec-enable no;
dnssec-validation no;
[root@centos8 ~]#vim /var/named/named.ca
#将原有内容删掉,加上如下内容
. 518400 IN NS a.root-servers.net.
a.root-servers.net. 518400 IN A 10.0.0.28
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload 不是第一次启动服务
1.4.7 实现本地只缓存DNS服务器
#在本地只缓存DNS服务器10.0.0.8/24上实现
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
forward only;
forwarders { 10.0.0.18; };
dnssec-enable no;
dnssec-validation no;
[root@centos8 ~]#systemctl enable --now named
#[root@centos8 ~]#rndc reload 不是第一次启动服务
1.4.8 客户端测试
[root@centos6 ~]# cat /etc/resolv.conf
nameserver 10.0.0.8
[root@centos6 ~]# dig www.magedu.org
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.magedu.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54009
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;www.magedu.org. IN A
;; ANSWER SECTION:
www.magedu.org. 85613 IN A 10.0.0.68
;; AUTHORITY SECTION:
magedu.org. 85613 IN NS mageduns2.org.
magedu.org. 85613 IN NS megeduns1.org.
;; ADDITIONAL SECTION:
mageduns2.org. 85613 IN A 10.0.0.58
;; Query time: 1 msec
;; SERVER: 10.0.0.8#53(10.0.0.8)
;; WHEN: Tue Sep 15 16:21:20 2020
;; MSG SIZE rcvd: 112
[root@centos6 ~]# curl www.magedu.org
www.magedu.org