超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

hosts文件與DNS的關(guān)系

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

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


1. 什么是 hosts 文件?

hosts 文件是一個(gè)本地配置文件,它用于手動(dòng)指定域名與 IP 地址的對(duì)應(yīng)關(guān)系,類似于一個(gè)本地 DNS 解析表。

hosts 文件的特點(diǎn)

  • 是操作系統(tǒng)本地的靜態(tài)域名解析文件。
  • 具有 最高優(yōu)先級(jí),比 DNS 服務(wù)器解析優(yōu)先執(zhí)行。
  • 僅對(duì)本機(jī)生效,無法影響網(wǎng)絡(luò)中的其他設(shè)備。

hosts 文件的默認(rèn)路徑

不同操作系統(tǒng) 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(本機(jī))。
  • 訪問 test.local 時(shí),解析到 192.168.1.100。
  • 訪問 google.com 時(shí),解析到 8.8.8.8,即強(qiáng)制指定 IP,而不是讓系統(tǒng)查詢外部 DNS。

2. 什么是 DNS 解析?

DNS(Domain Name System,域名系統(tǒng))是用于將域名解析為 IP 地址的網(wǎng)絡(luò)服務(wù)。它是一個(gè)層級(jí)分布式系統(tǒng),包含多個(gè)解析步驟。

DNS 解析流程

當(dāng)你在瀏覽器或終端訪問一個(gè)域名(如 example.com)時(shí),操作系統(tǒng)會(huì)按照以下步驟進(jìn)行解析:

  1. 瀏覽器緩存(Browser DNS Cache) 瀏覽器會(huì)緩存最近解析的 域名-IP 對(duì)應(yīng)關(guān)系,減少重復(fù)的 DNS 查詢,加快訪問速度。

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

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

  2. 檢查 hosts 文件(本地解析,優(yōu)先級(jí)高于 DNS 服務(wù)器查詢)。

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

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

    • 若 hosts 文件和本地緩存中都沒有找到,操作系統(tǒng)會(huì)向配置的 DNS 服務(wù)器(如 8.8.8.8、114.114.114.114)發(fā)起查詢。
  5. DNS 服務(wù)器遞歸查詢

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

    • 解析完成后,系統(tǒng)將 IP 地址返回給應(yīng)用程序,并緩存該解析結(jié)果。

3. hosts 文件與 DNS 解析的關(guān)系

hosts 文件 vs. DNS 解析

hosts 文件DNS 服務(wù)器解析
優(yōu)先級(jí)優(yōu)先級(jí)高于 DNS,先查本地 hostshosts 解析失敗后才會(huì)請(qǐng)求 DNS
生效范圍僅作用于本機(jī),不影響其他設(shè)備適用于整個(gè)網(wǎng)絡(luò)或互聯(lián)網(wǎng)
維護(hù)成本需手動(dòng)維護(hù),適合臨時(shí)解析自動(dòng)更新,適合長期使用
適用場景開發(fā)調(diào)試、屏蔽特定網(wǎng)站、內(nèi)網(wǎng)解析互聯(lián)網(wǎng)訪問、動(dòng)態(tài)解析

解析過程示例

假設(shè) hosts 文件中有以下記錄:

192.168.1.100   example.com

當(dāng)訪問 example.com 時(shí):

  1. 系統(tǒng)先查 hosts 文件,發(fā)現(xiàn)匹配的 192.168.1.100,直接返回該 IP。
  2. 不會(huì)進(jìn)行 DNS 查詢,即使 example.com 的真實(shí) IP 不是 192.168.1.100,也不會(huì)去 DNS 服務(wù)器獲取正確的 IP。

如果 hosts 文件中沒有 example.com

  1. 系統(tǒng)會(huì)查詢 本地 DNS 緩存,若緩存命中,則返回緩存的 IP。
  2. 否則,系統(tǒng)會(huì)向 配置的 DNS 服務(wù)器 發(fā)送查詢請(qǐng)求,獲取最終的 IP 地址。

4. hosts 文件的應(yīng)用場景

1. 本地開發(fā)和測(cè)試

  • 將測(cè)試域名指向本機(jī)

    127.0.0.1   myproject.local
    

    在瀏覽器輸入 myproject.local,相當(dāng)于訪問 127.0.0.1,方便調(diào)試。

  • 將測(cè)試環(huán)境域名指向特定服務(wù)器

    192.168.1.50   test.example.com
    

    讓 test.example.com 解析到內(nèi)網(wǎng)服務(wù)器,而不是公網(wǎng)服務(wù)器。

2. 跳過 DNS 解析

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

3. 屏蔽特定網(wǎng)站

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

4. 解決 DNS 解析錯(cuò)誤

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

5. 修改 hosts 文件的注意事項(xiàng)

Windows

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

Linux / macOS

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

總結(jié)

  • hosts 文件是本地的靜態(tài) DNS 解析表,優(yōu)先級(jí)高于 DNS 服務(wù)器。
  • DNS 解析是一個(gè)層級(jí)查詢過程,如果 hosts 解析失敗,系統(tǒng)才會(huì)查詢 DNS。
  • hosts 適用于本地開發(fā)、臨時(shí)調(diào)試、屏蔽網(wǎng)站,但不適合長期維護(hù)大量域名。
  • 修改 hosts 后,可能需要清除 DNS 緩存才能生效。

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

轉(zhuǎn)自https://juejin.cn/post/7482297501594976292


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