資安基礎惡補 - 網路篇 - DNS
DNS
使命
將域名解析為 IP 地址。
解析流程
- 客戶端查詢 (DNS Resolver)
當輸入某個 Domain name 時,瀏覽器會向系統的本地 DNS Resolver 提出請求。 - 本地 DNS 伺服器 (Recursive Resolver)
本地 DNS 伺服器接收請求,並會根據是否有緩存決定要從哪邊拿資料。總共會有以下情況: - 有緩存:如果此前查詢過該域名,本地伺服器會直接返回緩存結果。
- 無緩存:迭代查找。
- Root Server
在本地 DNS 伺服器請求 Root Server(如.
)後,Root Server 會告訴本地伺服器要查詢哪個頂級域名(TLD)伺服器。 - TLD Server
在本地 DNS 伺服器查詢 TLD Server(如.com
)後,TLD Server 會返回權威伺服器 - Authoritative Server(如ns1.example.com
)。 - 權威伺服器 Authoritative Server
權威伺服器返回域名對應的 IP 地址。 - Client 端接收 IP
本地 DNS 伺服器將結果返回給 Client 端,瀏覽器使用該 IP 地址與伺服器建立連接。
DNS 查找工具 - nslookup
我們可以使用 nslookup 來查詢 DNS 相關的訊息、域名與 IP 地址之間的對應關係。
從上方的資訊我們可以得知從非權威的 Server 中回傳了 domain name 和對應的 ipv4 address。
當然,如果想要使用公用的 google DNS 伺服器查詢 google.com 的位址,可以這麼做:
就會使用 Google 的公共 DNS 伺服器(
8.8.8.8
)查詢 google.com
。不想用 DNS 可以怎麼做?
我們可以試著反向思考,假設我們不想使用 DNS Server,我們可以怎麼做呢?
1. 使用 Hosts 文件
以 MacOS / Linux 為例子,我們可以在 /etc/hosts 修改 IP 和域名的 mapping:
2. 自己輸入 IP
3. 使用靜態 IP 配置與 Nginx / Load Balancer
常見的 DNS Record
1. A
IPv4 地址記錄。
2. AAAA
IPv6 地址記錄。
3. MX
郵件交換記錄,指定郵件伺服器的地址。
4. CNAME
別名記錄,將域名映射到另一個域名。
5. NS
名稱伺服器記錄,指定域名的權威 DNS 伺服器。 (也就是哪台機器管理我們的 DNS 紀錄)
6. TXT
文本記錄,存儲 SPF、DKIM 或其他驗證訊息。
7. SOA
記錄會保存與網域或區域相關的重要資訊,例如系統管理員的電子郵件地址、網域的最後更新時間,以及伺服器在兩次重新整理之間需要等待的時間。
8. SRV
記錄用於指定特定服務(例如 VoIP、即時訊息等)的主機和連接埠。
應用
這邊埋個伏筆,讓大家看一下設定 SRV Record 要填寫什麼:
留言
張貼留言