欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

hosts文件與DNS的關系

freeflydom
2025年3月17日 16:16 本文熱度 480

本地配置 hosts 文件和 DNS 解析密切相關,它們都涉及到將域名解析為 IP 地址的過程,但它們的作用機制和優先級有所不同。下面詳細講解 hosts 文件的作用、DNS 解析的流程,以及它們之間的關系。


1. 什么是 hosts 文件?

hosts 文件是一個本地配置文件,它用于手動指定域名與 IP 地址的對應關系,類似于一個本地 DNS 解析表。

hosts 文件的特點

  • 是操作系統本地的靜態域名解析文件。
  • 具有 最高優先級,比 DNS 服務器解析優先執行。
  • 僅對本機生效,無法影響網絡中的其他設備。

hosts 文件的默認路徑

不同操作系統 hosts 文件的路徑如下:

  • WindowsC:\Windows\System32\drivers\etc\hosts
  • Linux / macOS/etc/hosts

示例 hosts 文件

127.0.0.1   localhost
192.168.1.100   test.local
8.8.8.8   google.com

作用

  • 訪問 localhost 直接解析到 127.0.0.1(本機)。
  • 訪問 test.local 時,解析到 192.168.1.100
  • 訪問 google.com 時,解析到 8.8.8.8,即強制指定 IP,而不是讓系統查詢外部 DNS。

2. 什么是 DNS 解析?

DNS(Domain Name System,域名系統)是用于將域名解析為 IP 地址的網絡服務。它是一個層級分布式系統,包含多個解析步驟。

DNS 解析流程

當你在瀏覽器或終端訪問一個域名(如 example.com)時,操作系統會按照以下步驟進行解析:

  1. 瀏覽器緩存(Browser DNS Cache) 瀏覽器會緩存最近解析的 域名-IP 對應關系,減少重復的 DNS 查詢,加快訪問速度。

    優先級:如果瀏覽器緩存中有該域名的解析記錄,則不會繼續查詢 hosts 或 DNS 服務器。 有效期(TTL,Time To Live):瀏覽器的緩存時間通常較短,如 Chrome 可能在幾分鐘后自動過期。

    ?? 如何清除瀏覽器緩存? Chrome:訪問 chrome://net-internals/#dns,點擊 Clear host cache。 Firefox:訪問 about:networking#dns,點擊 Clear DNS Cache。

  2. 檢查 hosts 文件(本地解析,優先級高于 DNS 服務器查詢)。

    • 如果 hosts 文件中已有該域名的映射,則直接返回對應的 IP 地址,結束解析過程。
  3. 查詢本地 DNS 緩存(避免重復查詢,提高解析速度)。

    • 系統會檢查本機 DNS 緩存(Windows 可用 ipconfig /displaydns 查看)。
    • 如果緩存命中,則直接使用緩存的 IP。
  4. 請求本地 DNS 服務器(通常是 ISP 提供的)

    • 若 hosts 文件和本地緩存中都沒有找到,操作系統會向配置的 DNS 服務器(如 8.8.8.8114.114.114.114)發起查詢。
  5. DNS 服務器遞歸查詢

    • 若本地 DNS 服務器無該域名的解析記錄,則逐級向上級 DNS 服務器查詢,直到獲取 IP 地址。
    • 例如:
      • 先查根 DNS 服務器 (.)
      • 根 DNS 服務器返回 .com 頂級域名服務器(TLD)
      • .com 服務器返回 example.com 的權威 DNS 服務器
      • example.com 服務器返回最終 IP 地址
  6. DNS 解析結果返回客戶端

    • 解析完成后,系統將 IP 地址返回給應用程序,并緩存該解析結果。

3. hosts 文件與 DNS 解析的關系

hosts 文件 vs. DNS 解析

hosts 文件DNS 服務器解析
優先級優先級高于 DNS,先查本地 hostshosts 解析失敗后才會請求 DNS
生效范圍僅作用于本機,不影響其他設備適用于整個網絡或互聯網
維護成本需手動維護,適合臨時解析自動更新,適合長期使用
適用場景開發調試、屏蔽特定網站、內網解析互聯網訪問、動態解析

解析過程示例

假設 hosts 文件中有以下記錄:

192.168.1.100   example.com

當訪問 example.com 時:

  1. 系統先查 hosts 文件,發現匹配的 192.168.1.100,直接返回該 IP。
  2. 不會進行 DNS 查詢,即使 example.com 的真實 IP 不是 192.168.1.100,也不會去 DNS 服務器獲取正確的 IP。

如果 hosts 文件中沒有 example.com

  1. 系統會查詢 本地 DNS 緩存,若緩存命中,則返回緩存的 IP。
  2. 否則,系統會向 配置的 DNS 服務器 發送查詢請求,獲取最終的 IP 地址。

4. hosts 文件的應用場景

1. 本地開發和測試

  • 將測試域名指向本機

    127.0.0.1   myproject.local
    

    在瀏覽器輸入 myproject.local,相當于訪問 127.0.0.1,方便調試。

  • 將測試環境域名指向特定服務器

    192.168.1.50   test.example.com
    

    讓 test.example.com 解析到內網服務器,而不是公網服務器。

2. 跳過 DNS 解析

  • 加速訪問某些網站(如果知道 IP,可以直接指定):
    203.208.39.99   www.google.com
    
    這樣訪問 www.google.com 時,不再查詢 DNS,而是直接訪問 203.208.39.99

3. 屏蔽特定網站

  • 通過 hosts 屏蔽廣告、惡意網站:
    127.0.0.1   ads.example.com
    127.0.0.1   tracking.example.com
    
    這樣 ads.example.com 和 tracking.example.com 都會解析到 127.0.0.1,阻止訪問。

4. 解決 DNS 解析錯誤

  • 如果 ISP 提供的 DNS 解析錯誤,可以手動配置:
    8.8.8.8   example.com
    

5. 修改 hosts 文件的注意事項

Windows

  1. 以管理員權限打開 hosts 文件
    • 在搜索欄輸入 cmd,右鍵“以管理員身份運行”。
    • 使用 notepad 編輯 hosts
      notepad C:\Windows\System32\drivers\etc\hosts
      
    • 修改后保存,可能需要重啟網絡或清除 DNS 緩存:
      ipconfig /flushdns
      

Linux / macOS

  1. 使用 sudo 編輯 hosts 文件
    sudo nano /etc/hosts
    
  2. 保存后刷新 DNS 緩存
    sudo dscacheutil -flushcache   # macOS
    sudo systemctl restart nscd     # Linux(如果使用 nscd)
    

總結

  • hosts 文件是本地的靜態 DNS 解析表,優先級高于 DNS 服務器
  • DNS 解析是一個層級查詢過程,如果 hosts 解析失敗,系統才會查詢 DNS。
  • hosts 適用于本地開發、臨時調試、屏蔽網站,但不適合長期維護大量域名。
  • 修改 hosts 后,可能需要清除 DNS 緩存才能生效

如果你遇到 DNS 解析問題,優先檢查 hosts 文件,再檢查本地 DNS 配置! ??

轉自https://juejin.cn/post/7482297501594976292


該文章在 2025/3/17 16:16:59 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved