*** 哎呀呀。
倒數開始。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。Di。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。Di。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。
Di。
打翻相思。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。Di。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。Di。
DiDaDi。
DiDa。DiDa。DiDa。DiDa。DiDa。
Di。
雙臂圍成我的天地。聽你說著最近心事。
每次約會我的心情都好踏實。為你心中留個位置。
等你送我承諾戒指。每次約會都變成一個紀念日。
*** 吸血鬼。
滴答滴頭一次遇到。
護士尷尬向我道歉。
數十管的新鮮熱血。
吸血鬼供應商是我。
Di Da Di。CoCo Lee。
*** 參考。
[1] Jehn-Ruey Jiang。National Central University。Computer Networks。
[2] 吳明璋。Willis Towers Watson。營運持續:轉危為安第一步。
[3] Chirag Modi。Cloud Migration Questionnaire for Solution Architects on AWS。
[4] IMG。小信豬。[架構設計] 高性能負載均衡。
[5] IMG。Blake K。Software Engineer。DNS Explained Hierarchy and Architecture。
[6] CoCo Lee。Di Da Di。
DiDaDiDiDaDi。
來談談DNS好拉。
大家有無好奇過。
有些網站有穿衣。
有些網站全裸呢。
*** 別傻了。
上面網址是假的。
老師不是說了嗎。
網路連結別亂點。
叫你手乖乖放好。
資安觀念要落實。
DNS LOOKUP。
原理詳一。
實作詳二。
前言:
DNS 白話。
域名就是妳(你)在討飯吃的藝名。比如我中文名是鄭媄。對外就是英文字母 celia。
網址就是妳(你)在家排行的實名。比如我是家中排老大。對內就是阿拉伯字 0001。
假設
我老闆是 ethan。
其上有業務 sales。
其上又有總部 omni。
其上加之亞洲區 tw。
故
域名則應為 celia.ethan.sales.omni.tw
請舉一反三 www.omni.tw
或換位思考 mail.omni.tw
可自行幻想 etc.whoknowswhatyouwant.com。
一般說法:
DNS 負責查詢 Domain Name 對應IP。
伺服器是ㄚ呆不知道 Domain Name。
伺服器很可憐只認識 IP Address。
伺服器A想認識伺服器B。請封包幫忙。
封包充當媒介居中。讓伺服器A/B可以聯繫上。在網路上可用 IP 說話。
DNS stands for Domain Name System and is comparable to a phone directory for the internet.
DNS server is a computer server containing a directory of fully qualified domain names (FQDN) and the corresponding public IP addresses for that domain.
``` shell
### How do I find out what DNS server I am using?
~/Projects/omni-ethan │ master +1 !1 ?1 nslookup www.google.com ✔ │ 23:56:02
Server: 1.0.0.1
Address: 1.0.0.1#53
Non-authoritative answer:
Name: www.google.com
Address: 142.251.42.228
DNS查詢的運作流程。
Client > DNS Resolver > DNS 伺服器 > Root 伺服器 > TLD 伺服器 > 權威 伺服器
- Client查詢:
- 目的:Client 需要轉換域名為IP地址。
- 判斷:
- 檢查本地快取。如果找到結束流程。
- 否則進入下一步。
- 本機DNS伺服器的遞迴查詢:
- 目的:Client 向本機DNS伺服器提出遞迴查詢。
- 判斷:
- 本機DNS伺服器檢查區域內的網域名稱。
- 如果找到則進入區域檔案和快取的查詢。
- 否則進入伺服器對伺服器之間的查詢。
- 區域檔案和快取的查詢:
- 目的:本機DNS伺服器檢查區域檔案和自身快取。
- 判斷:
- 如果找到相符合的資料將IP地址返回給 Client 結束流程。
- 否則進入伺服器對伺服器之間的查詢。
- 伺服器間的反覆查詢:
- 目的:本機DNS伺服器向更高層次的DNS伺服器提出反覆查詢。
- 判斷:
- 如果找到相符合的資料將IP地址返回給 Client結束流程。
- 否則繼續進行伺服器對伺服器之間的查詢。
- 結果返回給用戶端:
- 最後 IP地址返回給Client。
- Client使用這個IP地址連接到相應的網站伺服器。
*** 遞迴查詢 vs 反覆查詢
多數預設遞迴查詢。遞迴查詢:目的是讓Client不要當海王殘害其他伺服器。
反覆查詢:當Client向元配 DNS Lookup。元配 DNS 會很心累。會有6次的反覆查詢。幫Client 問其它DNS得到Lookup結果。
*** Host file 本機檔案
Host file 格式 (IP和FQDN的mapping)
143.251.46.238 leos.flag.com.tw
*** DNS Resolver 解析
Client > DNS Resolver > DNS 伺服器 > Root 伺服器 > TLD 伺服器 > 權威 伺服器
*** DNS Forwarder 轉送
目的:
(1)節省頻寬。
(2)安全考量。
當Client做 DNS Lookup。
萬一 DNS Resolver失敗。
可以轉向Root DNS。
也可執行Forwarder。
``` shell
~/Projects/omni-ethan │ master +1 !1 ?1 pwd ✔ │ 23:55:47
/Users/celiazheng/Projects/omni-ethan
~/Projects/omni-ethan │ master +1 !1 ?1 dig www.google.com ✔ │ 23:55:51
; <<>> DiG 9.10.6 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52891
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 289 IN A 142.251.42.228
;; Query time: 13 msec
;; SERVER: 1.0.0.1#53(1.0.0.1)
;; WHEN: Mon Mar 25 23:56:02 CST 2024
;; MSG SIZE rcvd: 59
```
*** 案例實作。
客戶問:我們有2+台以上的 DNS servers。當Client在query時, 是如何找哪一台 DNS?
又追問:如果其中一台掛掉後,我們會發生什麼事?
解法:
首先妳(你)停三秒沒別原因裝作而已。
請妳(你)務必從容地咬字清晰回答之。
大白話原理 2+以上 Servers。
不外乎牽涉負載均衡演算法。
懶人初始輪詢 RoundRobin。
最少連接 Least Connections。
一對多的 IP哈希 IP Hash 。
後端輪詢加權 Weight 如下。
```
upstream bakend {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
```
單機配置時。當 Client 查詢通常僅由本地端 Resolver Host Files處理。
多機配置時。當 Client 查詢通常會根據配置順序或負載均衡來選其一。
其中一台 DNS 掛掉後則本地Resolver會自動選擇另一台DNS進行查詢。
即使其一 DNS server 故障但 DNS 查詢仍可查詢提高系統可用性和容錯。
圖自godleon
完整DNS Lookup
由上面案例中。
可知道什麼呢。
同學不用慌張。
無人與你相覷。
BCDR企業持續。
BC。Business Continuity。企業營運持續書。
- 係指全事業體指標。
- 例如讓甲方很怕掉股價的SLA。
- 四大因素:
- 排程/可用性/預計復原時間 RTO/資料損失量 RTO
- Recovery Time Objective (RTO)
- RTO defines the maximum application downtime you can bear in case of disaster. If the defined RTO is 30 minutes, then the system should be recovered by 3:30 p.m. for a disaster that happened at 3 p.m.
- Recovery Point Objective (RPO)
- RPO defines how much data loss (measured in time) you can bear in case of disaster. If the defined RPO is 10 minutes, then you should have all data available until 2:50 p.m. after recovery from a disaster that happened at 3 p.m.
DR。Disaster Recovery。災害復原內部程序。
- 針對關鍵 IT 基礎建設與應用的持續能力。
- 例如不斷電Always-On。
假設
甲方爸爸 樂高製造工廠
乙方物流 樂高委託之歐洲物流中心
甲方設下 RTO 9小時。
故
IF 乙方歐洲物流中心停擺超過 9小時。
THEN 甲方鄰近的樂高工廠將面臨停工風險或乙方賠償等。
BC 範圍廣泛。
除了上述以外。
詳下或見連結。
- 緊急應變計畫 Emergency Response Plan
- 企業復原計畫 Business Recovery Plan
- 危機管理計畫 Crisis Management Plan
- 風險減損計畫 Risk Mitigation Plan
- 復原計畫 Restoration Plan
客戶問:What are your RTO and RPO requirements?
可以答:
貴司或貴團隊可按照貴組織所制定的預計復原時間RTO/資料損失量RTO來進行討論。
可以答:
貴司或貴團隊可按照貴組織所制定的預計復原時間RTO/資料損失量RTO來進行討論。
(You can offer the following different disaster recovery solutions based on the increasing order of cost in proportion to better RTO and RPO.)
- Backup and Recovery — Stores backup in S3 and recover from it.
- Pilot Light — Keeps core components of the application running at low capacity.
- Active-Passive — Keeps scaled-down version of fully running application as standby.
- Active-Active — Keeps a fully functional application taking traffic in both regions.
可以答:
Customers may ask for the best RTO and RPO solution, which comes at different costs, so you should ask customers about the costs associated with each of the solutions.
Customers may ask for the best RTO and RPO solution, which comes at different costs, so you should ask customers about the costs associated with each of the solutions.
*** 十年數🌲木。百年數🌲人。
- #DRE | #1。to-the-basic。原理。
- #DRE | #2。at-a-glance。縱覽。
- #DRE | #3。Ops ...Oops。搶佔先機。
- #DRE | #4。GO。八面玲瓏。
- #DRE | #5。DiDaDi。加速。
- #DRE | #6。Z + Editor ➡️ ZED。1+1大於2。
- #DRE | #7。OSS。開源。