匿名
尚未登入
登入
頂極製作所
搜尋
檢視 緯育 2026-0421.2 的原始碼
出自頂極製作所
命名空間
頁面
討論
更多
更多
頁面操作
閱讀
檢視原始碼
歷史
←
緯育 2026-0421.2
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
管理員
您可以檢視並複製此頁面的原始碼。
<h3>網域名稱系統 (DNS) 核心概念與實務</h3> 本次系列演講深入探討了網域名稱系統(DNS)的核心概念、演進歷史、階層架構、查詢流程、伺服器類型、網域註冊實務以及相關資安議題。演講從早期依賴手動維護的hosts檔案,說明其如何因應網際網路擴張的瓶頸,進而催生出分散式、階層式的DNS系統。<br><br> 講師詳細解釋了DNS如何將人類易於記憶的網址轉換為機器可讀的IP位址,並闡述其在簡化上網、集中管理網域、實現簡易負載平衡等方面對使用者和管理者的益處。內容涵蓋了DNS查詢的遞迴過程(從本地DNS到根、頂級域、最終到權威伺服器),並介紹了Master/Slave、Cache-only、Forwarder等不同DNS伺服器類型與運作原理。此外,講座還實際演示了如何透過註冊代理商(如中華電信、GoDaddy)查詢、比較和購買網域,以及後續設定DNS的兩種主要方式:自行架設或使用託管服務。最後,對DNS設定檔中的SOA、A、CNAME、MX、PTR等關鍵記錄類型進行了詳細解釋。 === DNS 基礎概念與演進 === * DNS 的核心功能與重要性 ** DNS (Domain Name System) 的主要作用是記錄網址與IP位址的對應關係,如同網路世界的電話簿,將人類易記的網址(如 facebook.com)轉換為機器所需的IP位址。 ** 若無DNS,使用者需手動記錄並輸入複雜的IP位址,極為不便。 ** DNS是目前唯一取得公開IP的方式,其重要性與網頁服務相當,瀏覽網頁前必須先存取DNS服務。 * DNS 的演進歷史:從 hosts 檔案到DNS服務 ** 在DNS出現前,早期網路規模較小(約數百至千台主機),使用者依賴一個名為 hosts.txt (位於 /etc/hosts) 的檔案手動記錄主機名稱與IP位址的對應關係。 ** 此檔案最初由一個名為SRI-NIC的機構維護,使用者需透過FTP下載更新。 ** 隨著網路規模擴大,人工維護成本高、檔案過大、更新流量增加等瓶頸浮現,促使社群開發出DNS這種全新的、可擴展的網路服務。 ** 儘管有了DNS,/etc/hosts 檔案至今仍存在於作業系統中並保有其相容性用途。 === DNS 的階層架構與查詢流程 === * 階層式樹狀結構 ** DNS採用階層式的樹狀結構管理網域名稱,從上到下依次為: 1. 根網域 (Root Domain):位於層級最頂端,以一個「點」(.)表示。全球共有13組根伺服器,由超過500台主機組成,只記錄各頂級網域(TLD)伺服器的位置。 2. 頂級網域 (Top-Level Domain, TLD):如 .com, .org, .gov (一般gTLD) 及各國的 .tw, .jp (國家代碼ccTLD)。TLD伺服器只管理其下的次級網域。 3. 次級網域 (Second-Level Domain):使用者向註冊商申請的網域,如 google.com。 4. 主機名稱 (Hostname):在次級網域內設定的具體伺服器名稱,如 www。 * 遞迴查詢流程 ** 當使用者電腦要存取 www.google.com.tw 時,會向其設定的本地DNS伺服器(如 8.8.8.8)發出請求。 ** 若本地DNS無快取,它會依序進行遞迴查詢: 1. 詢問根伺服器,得到 .tw TLD伺服器的位址。 2. 詢問 .tw 伺服器,得到 .com.tw TLD伺服器的位址。 3. 詢問 .com.tw 伺服器,得到 google.com.tw 的權威DNS伺服器位址。 4. 詢問 google.com.tw 的權威DNS伺服器,最終獲得 www 主機的IP位址。 ** 本地DNS伺服器將結果回傳給使用者,並將記錄快取 (Cache) 一段時間,以加速後續相同查詢。 * 「未經授權的回答」(Non-authoritative answer) ** 當使用nslookup等工具查詢時,若看到此訊息,表示提供答案的DNS伺服器並非該網域的「權威伺服器」,其答案是從快取中提供的。 === DNS 的效益與多重用途 === * 對使用者的益處 ** 簡化上網:只需記憶網址,無需記錄複雜IP。 ** IP變更無感:網站更換伺服器IP時,使用者端不受影響,DNS會自動導向新位址。 * 對管理者的益處 ** 集中管理:可透過一台DNS伺服器集中管理多個網域。 ** 變更簡易:增減服務或變更IP只需修改DNS記錄。 ** 內外網分流:可設定對內部和外部使用者回傳不同IP。 ** 簡易負載平衡:將使用者查詢輪流導向不同IP,分散流量,節省專用設備成本。 * DNS 的多重用途 ** 除了網址解析,DNS還可用於網站所有權驗證(如申請HTTPS憑證時)等。 ** 濫用風險:其設計也可能被用於DDoS攻擊,如分散式反射放大攻擊 (Distributed Reflection and Amplification Attack)。 === 網域註冊與DNS設定實務 === * 網域名稱註冊流程 1. 構思與查詢:先想好網域名稱,再到網域註冊機構(代理商,如中華電信、GoDaddy)網站查詢該名稱是否可用。 2. 訂購與審查:確認可用後下訂單,並依註冊機構要求提交資格審查文件(公司需營業執照等,個人需身分證)。 3. 繳費啟用:審查通過後完成繳費,即可獲得網域使用權,可選擇購買年限並設定是否自動續約。 * DNS 設定的兩種方式 1. 自行架設DNS主機:在註冊商的管理介面,選擇「自行架設」,並填入自己DNS主機的公有IP位址。一台DNS主機可管理多個網域。 2. 購買DNS託管服務:若不自行架設,可向註冊商購買DNS託管服務。只需在管理介面中,為www, mail等主機名稱填寫對應的IP位址即可。 * 選擇註冊商的考量 ** 除了比較價格,還應考量其DNS設定介面的易用性及DNS記錄更新的生效速度。 === DNS 伺服器與記錄類型 === * DNS 伺服器分類 ** 權威伺服器 (Authoritative Server):對其管理的網域(Zone)具有最終解釋權,儲存該網域的完整記錄。 *** Master/Primary Server:主要的DNS伺服器。 *** Slave/Secondary Server:從屬伺服器,用於同步Master的資料以做備援。 ** Cache-only Server:只負責快取查詢結果以加速回應,本身不管理任何網域。Ubuntu的systemd-resolved即為一例。 ** Forwarder:將所有查詢請求轉發給上游DNS伺服器,自身通常只做簡單轉發,可能不做深度快取。家用IP分享器多為此類或Cache-only類型。 * 常見DNS伺服器軟體 ** 市面上有Bind DNS、微軟DNS、Securio DNS等多種軟體,其中 Bind DNS 是目前最廣泛使用的。 * 查詢類型 ** 正解 (Forward Lookup):將網域名稱轉換為IP位址。 ** 反解 (Reverse Lookup):將IP位址轉換回網域名稱。 * Zone File 內的記錄類型 ** SOA (Start of Authority):授權起始記錄,定義網域的管理資訊與同步參數。 ** NS (Name Server):指定管理該網域的DNS伺服器主機名稱。 ** A:將主機名稱對應到IPv4位址。 ** AAAA (Quad-A):將主機名稱對應到IPv6位址。 ** CNAME (Canonical Name):別名記錄,將一個主機名稱指向另一個主機名稱(如 w3 指向 www)。 ** MX (Mail Exchanger):郵件交換記錄,指定負責接收該網域郵件的伺服器。 ** PTR (Pointer):指標記錄,用於反解查詢,將IP對應回主機名稱。 * 重要名詞 ** Domain Name:網域名稱,如 google.com。 ** Hostname:主機名稱,如 www。 ** FQDN (Fully Qualified Domain Name):完整網域名稱,由主機名稱和網域名稱組成,結尾有一個代表根的點,如 www.google.com.。 [[檔案:2026-0421-03.png|800px]] === 網路拓撲與主機建置 === * 立體架構(拓撲圖)規劃 ** 課程目標是安裝 DNS 主機(POW1)並設定其拓撲結構。 ** DNS 主機需具備兩張網卡:一張對外 (VMware NAT 模式),一張對內 (VMware Host-Only 模式)。 ** 對外服務設定範例: *** tibame.com 對應 192.168.1.150 *** DNSD8.tibame.com 對應 192.168.1.100 *** www.tibame.com 對應 192.168.1.200 * DNS 主機建立流程 ** 複製主機:從一個名為 LSBase 的基礎映像檔(母機)複製(clone)一台新的虛擬機。 ** 新增網卡:複製完成後,在開機前,為新的 DNS 主機新增第二張網卡(Host-Only)。 ** 開機與設定:開機後,修改主機名稱,並設定兩張網卡的 IP 位址。 === DNS (BIND9) 伺服器安裝與設定 === * 網路介面卡設定 ** 為 DNS 主機設定兩張網路卡的 IP 位址,例如: *** 對外卡 (ens33):192.168.100.100 *** 對內卡 (ens37/38):192.168.121.[末碼] ** 使用 netplan apply 使設定生效,並用 ip a show 檢查。 ** 安裝前須確保主機可獨立上網以下載軟體。 * BIND9 軟體安裝 ** BIND9 (也稱為 named) 是 DNS 伺服器軟體,使用 apt install bind9 指令進行安裝。 * 設定檔結構 ** 主要設定檔為 named.conf,透過 include 指令引用外部設定檔,如 named.conf.default-zones。 ** 在 named.conf.default-zones 中使用 zone 語法定義所管理的正解與反解 Zone。 ** 每個 Zone 都會對應一個獨立的記錄檔,透過 file 指令指定路徑。 * 正解 Zone 設定 (db.[domain-name]) ** $TTL:設定預設的快取生存時間。 ** SOA (Start of Authority) 記錄:定義 Zone 的權威資訊,是 Zone 檔案的起始記錄。 *** @ IN SOA ns.domain.com. service.domain.com. (...) *** 注意:主機名稱和管理者 Email 結尾的「點」(.) 非常重要,代表此為絕對路徑 (FQDN)。 ** NS (Name Server) 記錄:宣告網域的 DNS 伺服器。 ** A (Address) 記錄:將主機名稱對應到 IPv4 位址(例如 www IN A 192.168.100.200)。 * 反解 Zone 設定 (db.[reverse-ip]) ** 用於透過 IP 位址查詢網域名稱。 ** Zone 名稱是 IP 網段的反向寫法,並加上 .in-addr.arpa 後綴(例如 100.168.192.in-addr.arpa)。 ** 內部記錄使用 PTR (Pointer) 記錄,將 IP 的末碼對應回完整的網域名稱。 === 服務管理、驗證與偵錯 === * 服務管理 ** 修改設定檔後,需使用 systemctl restart named (或 bind9) 重新啟動服務。 ** 使用 systemctl status named 檢查服務是否成功啟動。 ** 使用 ss -anlpt 確認 DNS 服務是否正在監聽 Port 53。 * 偵錯 (Troubleshooting) ** 當服務啟動失敗或解析異常時,應檢查系統日誌。 ** 使用 journalctl -u named 查看特定服務的完整日誌,並注意錯誤訊息的時間戳。 ** 常見錯誤包括設定檔語法錯誤(如缺少分號)、Zone 檔名寫錯、FQDN 結尾缺少「點」等。 * 功能驗證 ** 使用 nslookup 工具進行查詢驗證。 ** 語法:nslookup [要查詢的網域名稱/IP] [DNS伺服器IP]。 ** 重點:驗證內部 DNS 時,必須在指令中明確指定內部 DNS 伺服器的 IP,否則系統會向外部 DNS 查詢,導致驗證失敗。 === DHCP 伺服器與客戶端設定 === * DHCP 伺服器 DNS 設定調整 ** 編輯 /etc/dhcp/dhcpd.conf 設定檔。 ** 在 domain-name-servers 選項中,將內部 DNS 伺服器的 IP 位址加在最前面,外部 DNS 位址置後作為備援。 ** 可加入 domain-name 選項,讓客戶端自動獲取網域名稱。 ** 修改後需重啟 DHCP 服務 (systemctl restart dhcpd)。 * 客戶端 DNS 驗證 ** 在客戶端機器上重新取得 IP 後,使用 resolvectl status 指令可以查看當前獲取的 DNS 伺服器列表及正在使用的伺服器。 ** 使用 nslookup 指令(不帶伺服器 IP)測試是否能正確解析內部域名。 === 虛擬機管理 === * 系統關機順序 ** 為確保系統狀態一致,應遵循正確的關機順序: 1. 先關閉客戶端機器 (Clients)。 2. 再關閉服務主機 (DHCP, DNS)。 3. 最後關閉閘道器 (Gateway)。 * 建立虛擬機還原點 (Snapshot) ** 在完成階段性任務後,為所有相關的虛擬機建立還原點。 ** 建議使用日期(如 20260421)作為還原點的統一命名,方便管理。 ** 當後續操作出錯時,可以快速地將所有機器還原到這個已知的、穩定的狀態,節省重置時間。 [[檔案:2026-0421-04.png|800px]]
返回到「
緯育 2026-0421.2
」。
* [[檔案:2000-Dragon-30.png|15px]] [[附近走走]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[應用程式]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[郵遞區號]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[作品紀錄]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[攝影相簿]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[網路書籤]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[網路照片]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[星艦日誌]]<br> * [[檔案:2000-Dragon-30.png|15px]] [[Privacy_Policy|隱私政策]]<br>
附近走走
應用程式
郵遞區號
作品紀錄
攝影相簿
網路書籤
網路照片
星艦日誌
隱私政策
首頁
wiki工具
wiki工具
特殊頁面
頁面工具
頁面工具
使用者頁面工具
更多
連結至此的頁面
相關變更
頁面資訊
頁面日誌