模擬DNS網絡訪問正向解析
阿新 • • 發佈:2018-06-02
DNS;菜雞日常;模擬網絡訪問解析
搭建局域網DNS解析,具體實現功能如下圖
註:該測試只有正向解析
項目流程圖
1. 項目前準備關閉防火墻和SELINUX,配置網絡
①開啟8臺機器 ②關閉防火墻及selinux iptables -vnL #查看防火墻狀態 systemctl stop firewall #關閉防火墻 getenforce #查看SELinux狀態 setenforce 0 #禁用SELinux ③示例配置網絡後面依此類推,不再演示 vim > /etc/sysconfig/network-scripts <<EOF DEVICE=ens37 ONBOOT=yes BOOTPROTO=static IPADDR=172.20.29.201 PREFIX=16 DNS1=114.114.114.114 DNS2=1.1.1.1 GATEWAY=172.20.0.1 EOF 上述基本環境搭建完成
2. 配置web網站信息
① 安裝httpd包 配置172.20.29.201機器 yum clean all #清除yum緩存 yum install httpd -y #安裝httpd服務包 cat > /var/www/html/index.html <EOF #添加一個頁面顯示作為查看測試結果 welcome magedu.com web1 EOF systemctl start httpd #開啟httpd服務 systemctl enable httpd #開機自動啟動httpd服務 ② 打開網頁查看web1能否訪問 curl 172.20.29.201 ① 安裝httpd包 配置172.20.29.202機器 yum clean all #清除yum緩存 yum install httpd -y #安裝httpd服務包 cat > /var/www/html/index.html <EOF #添加一個頁面顯示作為查看測試結果 welcome magedu.com web2 EOF systemctl start httpd #開啟httpd服務 systemctl enable httpd #開機自動啟動httpd服務 ② 打開網頁查看web2能否訪問 curl 172.20.29.201
到此,web網站基本搭建成功
3. 配置DNS主服務器
①安裝bind包 配置172.20.29.203機器為DNS主服務器 yum clean all #清除yum緩存 yum install bind -y #安裝bind包 ②修改DNS主配置文件 vim /etc/named.conf #修改主配置文件 options { listen-on port 53 { localhost; }; #修改監聽地址為本機所有地址 #修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄 allow-query { any; }; #指定204IP才能查詢解析本機所有的A記錄 allow-transfer {172.20.29.204;}; }
vim /etc/named.rfc1912.zone #修改主配置文件
zone "magedu.com" IN { #添加magedu.com域
type master; #定於域類型為主域
file "magedu.com.zone"; #定義magedu.com域的解析庫文件
};
③添加解析庫文件
cat > /var/named/magedu.com.zone <<EOF
$TTL 1D #定義服務器響應時間
#定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期時間,錯誤緩存存放時間)
@ IN SOA dns1.magedu.com. admin.magedu.com. ( 1 1D 2H 3D 1H )
NS dns1 #定義DNS1服務器名稱
NS dns2 #定義DNS2服務器名稱
dns1 A 172.20.29.205 #解析DNS1為com地址
dns2 A 172.20.29.206 #解析DNS2為根地址
websrv A 172.20.29.201 #解析2個web服務器實現負載均衡
websrv A 172.20.29.202
www CNAME websrv #定義別名
EOF
④修改解析庫文件權限
chgrp named magedu.com.zone #修改屬組為named
chmod 640 magedu.com.zone #修改權限為640
修改完成後如下:
-rw-r----- 1 root named 201 Jun 1 21:16 magedu.com.zone
⑤開啟,調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤
4. 配置DNS從服務器
①安裝bind包
配置172.20.29.204機器為DNS從服務器
yum clean all #清除yum緩存
yum install bind -y #安裝bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改監聽地址為本機所有地址
#修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
allow-query { any; };
#不允許任何端口解析本機所有的A記錄
allow-transfer {none;};
}
vim /etc/named.rfc1912.zone #修改主配置文件
zone "magedu.com" IN { #添加magedu.com域
type slave; #類型定義為從域
masters { 172.20.29.203;}; #指定主域IP地址
file "slaves/magedu.com.zone.slave"; #定義magedu.com域的解析庫文件
};
③開啟,調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤
④查看從DNS服務器是否從主DNS服務器拉取解析庫文件
ls -l /var/named/slaves/
同步完成後如下:
-rw-r--r-- 1 named named 377 Jun 1 21:37 magedu.com.zone.slave
5. 配置COM服務器
①安裝bind包
配置172.20.29.205機器為com服務器
yum clean all #清除yum緩存
yum install bind -y #安裝bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改監聽地址為本機所有地址
#修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
allow-query { any; };
}
dnssec-enable no; #關閉安全協議功能
dnssec-validation no;
vim /etc/named.rfc1912.zone #修改主配置文件
zone "com" IN { #添加com域
type master; #定義類型為主域
file "com.zone"; #定義com.com域的解析庫文件
};
③添加解析庫文件
cat > /var/named/com.zone <<EOF
$TTL 1D #定義服務器響應時間
#定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期存放時間,錯誤緩存存放時間)
@ IN SOA dns.com. admin.com. ( 1 1D 2H 3D 1H )
NS dns1 #定義DNS1服務器名稱
magedu NS dns2 #定義DNS2服務器名稱
magedu NS dns3 #定義DNS3務器名稱
dns1 A 172.20.29.205 #解析DHS1為本機地址
dns2 A 172.20.29.203 #解析DHS2為主DNS服務器
dns3 A 172.20.29.204 #解析DHS3為從DNS服務器
EOF
④修改解析庫文件權限
chgrp named com.zone #修改屬組為named
chmod 640 com.zone #修改權限為640
修改完成後如下:
-rw-r----- 1 root named 167 Jun 1 22:02 com.zone
⑤開啟調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤
6. 配置根域
①安裝bind包
配置172.20.29.206機器為根服務器
yum clean all #清除yum緩存
yum install bind -y #安裝bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改監聽地址為本機所有地址
#修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
allow-query { any; };
}
dnssec-enable no; #關閉安全協議功能
dnssec-validation no;
刪除/etc/named.conf裏定義的根記錄,定義本機為根
#zone "." IN {
# type hint;
# file "named.ca";
#};
vim /etc/named.rfc1912.zone #修改主配置文件
zone "." IN { #添加根域
type master; #定義根域為主服務器
file "root.zone"; #定義com.com域的解析庫文件
};
③添加解析庫文件
cat > /var/named/root.zone <<EOF
$TTL 1D #定義服務器響應時間
#定義主域名,郵件服務器域名,(版本號 拉取數據時間,拉取數據失敗重試時間,緩存過期存放時間,錯誤緩存存放時間)
@ IN SOA dns1. admin. ( 1 1D 2H 3D 1H )
NS dns1 #定義DNS1服務器名稱
com NS dns2 #定義DNS2服務器名稱
dns1 A 172.20.29.206 #解析DHS2為根域服務器
dns2 A 172.20.29.205 #解析DHS2為com服務器
EOF
④修改解析庫文件權限
chgrp named com.zone #修改屬組為named
chmod 640 com.zone #修改權限為640
修改完成後如下:
-rw-r----- 1 root named 167 Jun 1 22:02 com.zone
⑤開啟,調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤
7. 配置電信服務器
①安裝bind包
配置172.20.29.207機器為轉發服務器
yum clean all #清除yum緩存
yum install bind -y #安裝bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改監聽地址為本機所有地址
#修改為默認所有人通過域名訪問,解析庫文件對應的單條A記錄
allow-query { any; };
}
dnssec-enable no;
dnssec-validation no;
③開啟,調試服務
systemctl start named #開啟DNS服務
systemctl enable named #開機自動啟動DNS服務
systemctl status named #查看DNS服務狀態是否有錯誤
8. 用戶訪問電信服務器查看結果
①修改DNS指向電信服務器
cat > /etc/resolv.conf <<EOF
search localdomain
nameserver 172.20.29.207
EOF
②測試訪問結果
curl www.magedu.com
模擬DNS網絡訪問正向解析