Android 模擬器上不了網?與 Windows 宿主機 Clash 對齊代理 IP、埠號與 NAT/橋接(2026)

許多開發者在 Windows 上已順利跑著 ClashClash Verge RevMihomo/Clash Meta 核心),卻在同機的 Android 模擬器裡發現:瀏覽器打不開外網、套件更新卡住,或將 Wi‑Fi 代理指向「看起來對的 IP」後仍連線逾時。這通常不是節點驟然失效,而是模擬器網路層(含 NAT/橋接)與宿主 Clash 的監聽位址、mixed‑port、allow‑lan 與防火牆輸入規則尚未在同一條邏輯鏈上。本篇刻意與真機/電視盒上直接安裝 ClashWSL2 終端對齊Hyper‑V 虛擬來賓區隔,集中處理 AVD/BlueStacks/常見商用模擬器在 Windows 上的對宿主可達 IP、埠、mDNS/DNS高頻問題,並銜接Windows 首次安裝與斷網排查

先釐清:模擬器裡的「網路」不等於宿主已開代理

在 Android 螢幕上,Wi‑Fi 圖示顯示已連線,只代表虛擬網卡在模擬器世界觀底下可路由;若您將流量交給宿主側的 Clash,必須同時滿足兩件事: App 是否真的把TCP/HTTPS送往「能接到 Clash HTTP/SOCKS/mixed‑port 的那個 IP:埠」,而不是仍嘗試直連。對模擬器而言可達的路徑是否真的指向您的 Windows——在NAT環境這往往是一組位址對應規則(例如 Google AVD 預設內建站內對宿主的對照),換成橋接後又會變成區網 IP邏輯。若您只看到宿主瀏覽器能上網,就以為模擬器必然繼承,大多會卡住。

因此除錯時請優先區分:A 模擬器根本對外無路由(DNS、閘道、虛擬路由器);B 路由有,但沒有任何 App 將流量送入 Clash 埠C 已指向 Clash,但宿主只監聽 127.0.0.1、未開允許區域網/Allow LAN或未放行防火牆輸入mDNS/私人 DNS/企業 captive portal亦可能讓少數場景雪上加霜,本篇先將主線對齊,再延伸到 DNS 細節。

Google Android 虛擬裝置(AVD):預設 NAT 與 10.0.2.2 的心智模型

若您使用的是 Android Studio 內建的 Android Emulator(Google AVD),預設使用NAT/虛擬路由器將模擬器封包轉到宿主對外線路:在這個模型底下,來自模擬器內部視角,宿主有一個文件化的捷徑位址:10.0.2.2 通常對應到宿主機的迴環介面(127.0.0.1)側(依官方 Emulator 網路說明;不同映像請以發行版文件為準)。實務上最常見的情境是:把模擬器內 Wi‑Fi 代理或 SOCKS 類客戶端的主機設為 10.0.2.2,埠設為宿主 Clash 的 mixed‑port(或您在設定檔中明確區分的 HTTP/SOCKS 埠),就能讓「模擬器送出的請求」從宿主本機側進 Clash——這條鏈路和您把手機接上同一區網再指到宿主區網 IP 並不完全相同:「誰對誰可達」由 NAT 對照表決定。

因此當許多使用者把宿主 Clash UI 看到的某個區網位址生硬抄進模擬器,在 AVD 預設 NAT 下反而不一定正確:A 若仍走預設 NAT,優先改試 10.0.2.2B 若您已改為橋接至實體網卡或使用-dns-server等特殊啟動參數,網址模型會改為接近「第二張區網卡」,此時請改以實際可路由到宿主的區網 IP量測。以上兩條請擇環境對應的一條做主線,並用TCP 連線到埠驗證,而不是只靠 ping——許多環境對 ICMP 不友善。

宿主 Windows:對齊 mixed‑port、監聽位址與 allow‑lan

在動模擬器設定前,請回到宿主 Windows核對三件核心:① mixed‑port 或對應的 HTTP/SOCKS/mixed 區塊,實際數字為何(常見如 7890,請以設定檔與 GUI 對讀為準)。 監聽是否只綁在 127.0.0.1:若將模擬器指向 10.0.2.2/區網 IP,本質上要能打到開在宿主上的那座埠;僅監聽本機側位址在多數圖形客戶端可透過「允許區域/Allow LAN」語意自動擴張,但以您的版本為準,請同時讀設定檔裡的 allow-lanbind-address(或等價選項)。 若您同時啟用 TUN 模式,請勿假設模擬器會「透明」穿過——在模擬器世界觀 TCP 入口仍在對宿主某埠的對接點;對照可先讀本站TUN 模式深度解析,並理解本文仍推薦先做「代理埠對接」——穩定、可追溯日誌

如果您的使用情境更接近「宿主也要給區網手機共用代理」,本篇與手機區網共用/LAN 對齊是同一份防火牆與許可語彙:重點是對哪些來源 IP 區段放行 TCP

BlueStacks/其他商用 Android 模擬器:更常見的「宿主區網 IP」路線

相較於 AVD,BlueStacks/部分遊戲向模擬器未必沿用 10.0.2.2 模型;更常見的是:模擬器虛擬網卡與宿主之間以私有網段虛擬路由器互通,此時除錯清單會更接近「從另一台裝置連回宿主」: 在宿主 ipconfig 找出與模擬器虛擬網卡同網段那張介面的 IPv4(或依模擬器說明文件所述的閘道/宿主位址)。 將模擬器內代理或系統/App 級 Proxy 設定為「該宿主 IP 與 mixed‑port 埠號」。 仍須確認 Allow LAN/allow‑lan 與防火牆對該來源網段的輸入 TCP許可。位址對照表若與ADB reverse/adb reverse tcp等特殊開發者工具混用時,請以您實際採取的流量路徑為準——避免同日開多條規則卻互不認識。

Windows Defender 防火牆:輸入規則常是「最後一哩」瓶頸

即使 Clash 已正確對外側介面監聽,若 Defender 對模擬器來源/虛擬網段輸入TCP,模擬器端仍只看到連線逾時。建議:請先以精準規則放行「TCP、您的 mixed‑埠、限定遠端位址區段為模擬器所在私有網段」,並避免將埠無差別暴露到公用網路。對照做法可延伸閱讀Hyper‑V NAT/防火牆一文的 PowerShell/介面操作流程;差別僅在於本情境對應的 RemoteAddress/介面身分,換成 Emulator/虛擬網卡的網段即可。

提醒您:ICMP(ping)與 TCP 代理連線在防火牆裡是不同的規則通道;除錯時請以「能否建立到 mixed‑埠的 TCP」為準,對照宿主 Clash 的連線日誌是否真的出現模擬器送出連線的痕跡。若全然沒有日誌,表示封包未到 Clash——回到網段位址與監聽;若有日誌卻規則命錯群組,請回到規則排序與 policy 組:Clash 使用教學能幫助理清「誰來決策出口」。

為何會牽扯「橋接」與第二張虛擬網卡

當 Emulator 進階選項將網卡改為更接近實體 LAN/Wi‑Fi 的橋接,模擬器取得的 IP/閘道路由會更接近「區網一員」:這時預設閘道會指向路由器而非「自動知道宿主是哪一台」。除錯上請改以區網上宿主電腦的 IPv4、與宿主同一子網路遮罩、路由器側是否阻隔 client isolation(訪客 Wi‑Fi 常見問題)視角來看;若宿主同時跑Docker Desktop/虛擬交換器或其他虛擬網卡,IP 競合或路由表異常也值得列入檢查清單,但本篇主線仍以模擬器 → 對宿主可連線的那個埠是否打通為優先。

DNS 與 HTTPS:模擬器內的假 IP/解析落差

若宿主啟用了 fake‑ip 或複雜的 DNS fallback,模擬器內應用若自力做 DNS/DoH/DoT或略過系統 Proxy,可能造成「宿主看起來能解析、模擬器另一套解析鏈」的割裂。對策包括:對齊 Android「系統 HTTPS Proxy」設定、在 App 內強制改走 SOCKS5/HTTP CONNECT、或將域名分流交由宿主 Clash 後再觀察日誌細節。若您發現僅少數 App 異常,可先懷疑App 級網路權/私人 DNS/Certificate Pinning,並用瀏覽器與具代理設定的套件管理工具交叉驗證。

與 WSL2、Docker、Hyper‑V 並行時的注意點

同一台Windows 11往往同時啟用多張虛擬網卡:WSL2Hyper‑V與 Emulator 並存時,宿主到底哪張 IP/哪條規則被命中容易混亂。建議將 Android 模擬器視為獨立的「對外發起端」,依本文完成代理埠對齊後,再橫向比對您是否也在處理 WSL/Docker:WSL2 文Docker 文的路徑並非互換關係,而是不同的虛擬化邊界——別把 WSL 的宿主 IP 生硬套到 AVD 預設 NAT,反之亦然。

快速核對清單(建議照順序勾)

  1. 宿主 Clash 節點可用,本機瀏覽器經 Clash 可連外(先排除純訂閱問題)。
  2. 確認 mixed‑port(或分開的 HTTP/SOCKS 埠)與 GUI/YAML 一致。
  3. AVD 預設 NAT:代理主機優先試 10.0.2.2;橋接或其他模擬器:改用實測可達的宿主 IPv4。
  4. 開啟 Allow LAN/allow‑lan,並檢查監聽是否仍綁死 127.0.0.1(依版本與選項)。
  5. Defender 輸入規則對模擬器網段放行 TCP/您的埠
  6. 以 Clash 連線日誌確認封包是否真的進核心,再調規則命中。

常見問題

我把模擬器 Wi‑Fi 代理設成宿主區網 IP,為什麼在 AVD 還是不通?

預設 NAT下,模擬器未必與您路由器 DHCP 所見的區網位址同一語意;請先依官方模型改用 10.0.2.2 對應宿主本機側,或改橋接後再用真正的區網宿主 IP,並搭配防火牆與 allow‑lan。

BlueStacks 沒有 10.0.2.2 怎麼辦?

查 BlueStacks/您的版本文件或網路面板,找出模擬器能路由到宿主的那個 IPv4,再指向 mixed‑port;思維上接近「第二裝置連宿主代理」而非 AVD 預設表。

allow‑lan 已開,仍逾時?

優先檢查防火牆輸入綁定位址;再以 TCP 測埠取代 ping,並回頭看連線日誌是否空白。

總結來說,Android 模擬器Windows 上要與Clash對齊,關鍵是先辨識 NAT 與 mixed‑port 語境,再將對宿主可達的 IP、監聽與防火牆規則視為同一張核對清單連續走完;與直接在 Android 上手動安裝客戶端相比,這條宿主代理轉發的路徑在除錯上更強調網段位址對照表。若宿主端客戶端尚未安妥,可先從本站下載頁取得對應版本,並依Windows 首次設定完成本機驗證;相較其他同類方案,Clash 生態在規則可視化與核心一致性上通常更利於長期維運。→ 立即免費下載 Clash,開啟流暢上網新體驗