15: 快取DNS 、 Split分離解析 、 電子郵件通訊 、 Web伺服器專案實戰 、 總結和答疑
NSD SERVICES DAY04
1 案例1:搭建並測試快取DNS
1.1 問題
本例要求熟悉快取DNS的工作過程,準備一臺可上網的RHEL7虛擬機器,並完成下列任務:
- 安裝 bind、bind-chroot 包
- 搭建並測試基於全域性轉發器的快取DNS
注意:若所在機房不具備訪問網際網路DNS條件,此案例改由學員自行在家完成。
1.2 方案
權威/官方DNS伺服器的特點:
- 至少管理一個DNS區域,,需要IANA等官方機構授權
- 典型應用:根域DNS、一級域DNS、二級域DNS、三級域DNS、.. ..
快取DNS伺服器的特點:
- 不需要管理任何DNS區域,但是能夠替客戶機查詢,而且通過快取、複用查詢結果來加快響應速度
- 典型應用:ISP服務商、企業區域網
快取DNS伺服器的解析記錄來源:
- 方式1:全域性轉發:將請求轉發給指定的公共DNS(其他快取DNS),請求遞迴服務
- 方式2:根域迭代:依次向根、一級、二級……域的DNS伺服器迭代
1.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:為虛擬機器pc207提供上網條件
1)為虛擬機器新增一塊新的網路卡,選擇NAT或Bridge模式
若選擇NAT模式(地址轉換),則新加網路卡的上網引數由虛擬化平臺自動設定。
若選擇Bridge模式(橋接),則新加網路卡的上網引數需要參考真實網路的主機,必要時請網路管理員提供支援。
此處所列地址資訊可幫助大家理解上網條件,但不作為練習的配置依據:
[root@pc207 ~]# ifconfig eth1 //檢查新增網路卡的IP地址 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.70.129 netmask 255.255.255.0 broadcast 192.168.70.255 .. .. [root@pc207 ~]# route -n //確認已配好預設閘道器 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.70.2 0.0.0.0 UG 100 0 0 eth1 192.168.70.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1 .. .. [root@pc207 ~]# cat /etc/resolv.conf //確認第一DNS為外部可用DNS地址 nameserver 192.168.70.2 .. ..
2)確保從主機pc207可訪問到外部DNS
訪問預設DNS可用(本機正常連網需要):
[root@pc207 ~]# host www.qq.com www.qq.com has address 111.30.132.101 www.qq.com has IPv6 address 240e:e1:8100:28::2:16
訪問指定DNS可用(全域性轉發的前提條件):
[root@pc207 ~]# host www.qq.com 202.106.0.20 //國內公共DNS伺服器之一 Using domain server: Name: 202.106.0.20 Address: 202.106.0.20#53 Aliases:
www.qq.com has address 111.30.132.101
www.qq.com is an alias for qq.com.edgesuite.net.
qq.com.edgesuite.net is an alias for a1574.b.akamai.net.
www.qq.com is an alias for qq.com.edgesuite.net.
qq.com.edgesuite.net is an alias for a1574.b.akamai.net.
步驟二:將pc207配置為快取DNS(全域性轉發式)
1)安裝bind、bind-chroot軟體包
[root@pc207 ~]# yum -y install bind bind-chroot
… …
2)建立主配置檔案/etc/named.conf
當收到來自客戶機的DNS查詢請求時,轉發到外網的其他DNS伺服器
[root@pc207 ~]# vim /etc/named.conf
options {
forwarders { 202.106.0.20; };
};
3)啟動系統服務named,並設定開機自啟
[root@pc207 ~]# systemctl restart named
[root@pc207 ~]# systemctl enable named
4)可向快取DNS伺服器pc207查詢到公共域名(百度、網易等站點)
[root@pc207 ~]# host www.baidu.com 192.168.4.207 //查百度的站點IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 111.13.100.92
www.a.shifen.com has address 111.13.100.91
[root@pc207 ~]# host www.163.com 192.168.4.207 //查網易的站點IP
Using domain server:
Name: 192.168.4.207
Address: 192.168.4.207#53
Aliases:
www.163.com is an alias for www.163.com.lxdns.com.
www.163.com.lxdns.com is an alias for 163.xdwscache.ourglb0.com.
163.xdwscache.ourglb0.com has address 111.11.31.104
163.xdwscache.ourglb0.com has address 111.11.31.114
2 案例2:配置並驗證Split分離解析
2.1 問題
本例要求配置一臺智慧DNS伺服器,針對同一個FQDN,當不同的客戶機來查詢時能夠給出不同的答案。需要完成下列任務:
- 從主機192.168.4.207查詢時,結果為:www.tedu.cn —> 192.168.4.100
- 從其他客戶端查詢時,www.tedu.cn ---> 1.2.3.4
2.2 方案
在配置DNS伺服器時,通過view檢視設定來區分不同客戶機、不同地址庫:
view "檢視1" { match-clients { 客戶機地址1; .. .. ; }; //匹配第1類客戶機地址 zone "目標域名" IN { //同一個DNS區域 type master; file "地址庫1"; //第1份地址庫 }; }; view "檢視2" { match-clients { 客戶機地址2; .. .. ; }; //匹配第2類客戶機地址 match-clients { any; }; //匹配任意地址 zone "目標域名" IN { //同一個DNS區域 type master; file "地址庫2"; //第2份地址庫 }; }; .. .. view "檢視n" { match-clients { any; }; //匹配任意地址 zone "目標域名" IN { //同一個DNS區域 type master; file "地址庫n"; //第n份地址庫 }; };
2.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:配置Split分離解析
1)為tedu.cn區域建立兩份解析記錄檔案
第一份解析記錄檔案提供給客戶機192.168.4.207、網段192.168.7.0/24,對應目標域名www.tedu.cn的A記錄地址為192.168.4.100。相關操作及配置如下:
[root@svr7 ~]# cd /var/named/ [root@svr7 named]# cp -p tedu.cn.zone tedu.cn.zone.lan [root@svr7 named]# vim tedu.cn.zone.lan $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS svr7.tedu.cn. svr7 A 192.168.4.7 pc207 A 192.168.4.207 www A 192.168.4.100
第二份解析記錄檔案提供給其他客戶機,對應目標域名www.tedu.cn的A記錄地址為1.2.3.4。相關操作及配置如下:
[root@svr7 named]# cp -p tedu.cn.zone tedu.cn.zone.other [root@svr7 named]# vim tedu.cn.zone.other $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS svr7.tedu.cn. svr7 A 192.168.4.7 pc207 A 192.168.4.207 www A 1.2.3.4
2)修改named.conf配置檔案,定義兩個view,分別呼叫不同解析記錄檔案
[root@svr7 ~]# vim /etc/named.conf options { directory "/var/named"; }; acl "mylan" { //名為mylan的列表 192.168.4.207; 192.168.7.0/24; }; .. .. view "mylan" { match-clients { mylan; }; //檢查客戶機地址是否匹配此列表 zone "tedu.cn" IN { type master; file "tedu.cn.zone.lan"; }; }; view "other" { match-clients { any; }; //匹配任意客戶機地址 zone "tedu.cn" IN { type master; file "tedu.cn.zone.other"; }; };
3)重啟named服務
[root@svr7 ~]# systemctl restart named
步驟二:測試分離解析效果
1)從mylan地址列表中的客戶機查詢
在客戶機192.168.4.207(或網段192.168.7.0/24內的任意客戶機)上查詢www.tedu.cn,結果是 192.168.4.100:
[root@pc207 ~]# host www.tedu.cn 192.168.4.7 Using domain server: Name: 192.168.4.7 Address: 192.168.4.7#53 Aliases:
www.tedu.cn has address 192.168.4.100
2)從其他客戶機查詢
在DNS伺服器本機或CentOS真機上查詢www.tedu.cn時,結果為 1.2.3.4:
[root@svr7 ~]# host www.tedu.cn 192.168.4.7
Using domain server:
Name: 192.168.4.7
Address: 192.168.4.7#53
Aliases:www.tedu.cn has address 1.2.3.4
3 案例3:NTP時間同步
3.1 問題
本例要求配置一臺NTP時間伺服器,需要完成下列任務:
- 部署一臺NTP時間伺服器
- 設定時間伺服器上層與0.centos.pool.ntp.org同步
- 設定本地伺服器層級數量為10
- 允許192.168.4.0/24網路的主機同步時間
- 客戶端驗證時間是否同步
3.2 步驟
實現此案例需要按照如下步驟進行。
步驟一:虛擬機器A構建NTP時間伺服器
1)使用yum安裝bind、bind-chroot軟體包
[root@svr7 ~]# yum -y install chrony 已載入外掛:fastestmirror, langpacks Loading mirror speeds from cached hostfile dvd | 3.6 kB 00:00 軟體包 chrony-3.2-2.el7.x86_64 已安裝並且是最新版本 無須任何處理 [root@svr7 ~]# rpm -q chrony chrony-3.2-2.el7.x86_64 [root@svr7 ~]#
2)修改配置檔案/etc/chrony.conf
[root@proxy ~]# vim /etc/chrony.conf server 0.centos.pool.ntp.org iburst //server使用者客戶端指向上層NTP伺服器 allow 192.168.4.0/24 //允許那個IP或網路訪問NTP local stratum 10 //設定NTP伺服器的層數量 .. ..
3)重啟chronyd服務
[root@mail ~]# systemctl restart chronyd [root@svr7 ~]# firewall-cmd --set-default-zone=trusted #設定防火牆
步驟二:虛擬機器B構建NTP時間同步的客戶端
1)修改/etc/chrony.conf檔案
[root@pc207 ~]# vim /etc/chrony.conf server 192.168.4.7 iburst
2)重啟chronyd服務
[root@pc207 ~]# systemctl restart chronyd [root@svr7 ~]# firewall-cmd --set-default-zone=trusted #設定防火牆
3)修改時間進行測試
[root@pc207 ~]# date -s "2008-9-1" 2008年 09月 01日 星期一 00:00:00 CST [root@pc207 ~]# date 2008年 09月 01日 星期一 00:00:01 CST [root@pc207 ~]# systemctl restart chronyd [root@pc207 ~]# date 2008年 09月 01日 星期一 00:01:42 CST [root@pc207 ~]# date 2020年 04月 13日 星期一 18:44:56 CST [root@pc207 ~]# chronyc sources –v #專業檢視時間服務端資訊命令
4 案例4:準備郵件案例環境
4.1 問題
本例要求配置一臺智慧DNS伺服器,針對同一個FQDN,當不同的客戶機來查詢時能夠給出不同的答案。需要完成下列任務:
- 準備DNS伺服器
- 主機名:mail.example.com
- IP地址:192.168.4.7/24
- 為 example.com 域提供郵件相關解析
4.2 步驟
實現此案例需要按照如下步驟進行。
步驟一:為tedu.cn域搭建DNS服務
1)使用yum安裝bind、bind-chroot軟體包
[root@mail ~]# yum -y install bind bind-chroot .. ..
2)建立配置檔案named.conf
[root@mail ~]# mv /etc/named.conf /etc/named.conf.bak //備份預設配置 [root@mail ~]# vim /etc/named.conf options { directory "/var/named"; }; zone "example.com" IN { //定義DNS父域 type master; file "example.com.zone"; };
3)建立解析記錄檔案
注意新增mail.tedu.cn的解析記錄:
[root@mail ~]# vim /var/named/example.com.zone $TTL 86400 @ IN SOA @ root.example.com. ( 2015052201 4H 15M 4H 1D ) example.com. IN NS svr7.example.com. example.com. IN MX 10 mail.example.com. svr7 IN A 192.168.4.7 mail IN A 192.168.4.7
4)啟動named服務
[root@mail ~]# systemctl restart named
5)將本機配置為DNS客戶端,測試域名解析
修改/etc/resolv.conf檔案,新增本機作為DNS伺服器:
[root@mail ~]# vim /etc/resolv.conf nameserver 192.168.4.7
查詢區域example.com的MX記錄,結果為mail.example.com.:
[root@pc205 ~]# host -t mx example.com tedu.cn mail is handled by 10 mail.example.com.
查詢域名mail.example.com的A記錄,結果為192.168.4.7:
[root@pc205 ~]# host mail.example.com mail.example.com has address 192.168.4.7
相關文章
- 多區域DNS服務,子域授權,快取DNS及Split分離解析的原理和實現DNS快取
- 直接用通訊錄Excel群發電子郵件Excel
- 基於Sendmail、Dovecot和Ssl的電子郵件伺服器搭建——從不安全通訊到安全通訊AI伺服器
- 直接用通訊錄Excel群發電子郵件(轉)Excel
- node實戰前端快取總結前端快取
- 伺服器專案實戰與總結(五)伺服器
- .net類庫中傳送電子郵件的方法總結
- jQuery 前後端分離專案總結jQuery後端
- 專案中多級快取設計實踐總結快取
- 電子郵件“人到中年”
- 60. 電子郵件
- MySQL專案實戰總結MySql
- 快取和web快取分別是什麼?快取Web
- 如何傳送電子郵件到別人郵箱?電子郵件傳送的方法
- Web 專案的快取策略Web快取
- PWA之前端專案,實現可安裝、離線快取、訊息推送前端快取
- iOS專案開發實戰——通過Http Get方式與伺服器通訊iOSHTTP伺服器
- iOS專案開發實戰——通過Http Post方式與伺服器通訊iOSHTTP伺服器
- 在蘋果電腦的Mac郵件上阻止和取消阻止電子郵件地址的方法蘋果Mac
- Django+Vue.js搭建前後端分離專案 web前後端分離專案實踐DjangoVue.js後端Web
- 使用 Postfix 從 Fedora 系統中獲取電子郵件
- SpringBoot實現傳送電子郵件Spring Boot
- 電子郵件協議及GO傳送QQ郵件協議Go
- 軟體測試實戰專案,問題答疑
- Hyperf 完整專案-3-郵件-簡訊
- 通過無伺服器架構使用Elasticsearch實現電子郵件摘要案例 - Oliver Foreman伺服器架構ElasticsearchREM
- 【Vue專案總結】元件通訊處理方案Vue元件
- DNS分層結構及DNS解析流程DNS
- 電子郵件被黑客追蹤黑客
- 用oracle傳送電子郵件Oracle
- 如何保護電子郵件安全
- 安全使用電子郵件十三法
- Postfix電子郵件系統精要
- 用ASP發電子郵件 (轉)
- 大型電子政務專案問題總結薦
- DNS (域名解析伺服器), DNS子域授權DNS伺服器
- DNS分離DNS
- Relevancy:視訊是電子郵件營銷的新領域