大多數「打不開」「很慢」「走錯線路」的問題,在 連接 和 日誌 兩個頁面裡都能找到直接答案。學會看這兩個頁面,比在網上到處搜有用得多。
連接頁:每一列是什麼意思
打開左側 連接(Connections),你會看到一個實時滾動的表格:
| 列 | 含義 | 怎麼用 |
|---|---|---|
| 主機 / Host | 目標網域或 IP | 找你要排查的那個網站 |
| 規則 / Rule | 命中了哪條規則 | 最有價值的一列 |
| 策略 / Chain | 最終走了哪個節點或 DIRECT | 確認是直連還是代理 |
| 行程 / Process | 發起連接的程式 | 找出是誰在偷偷聯網 |
| 上傳 / 下載 | 這條連接的流量 | 找出誰在跑流量 |
| 時間 | 連接建立時長 | 長連接會一直掛著 |
最常用的場景:確認某網站走了哪條線
比如你想知道 github.com 到底走了代理沒有:
看「策略」列:
- 顯示 DIRECT → 直連,沒走節點
- 顯示 節點名 或 策略組名 → 走了代理
- 顯示 REJECT → 被規則攔截了(通常是廣告攔截規則)
看「規則」列,能知道是因為哪條規則做出的判斷,比如 GEOIP,CN 說明是因為目標 IP 屬於中国大陆才判成直連的。
場景二:找出誰在偷跑流量
按「下載」列排序,看誰的流量最大。「行程」列會告訴你是哪個程式。
常見的意外發現:某個軟體在後台自動更新、雲端硬碟在同步、或者某個網頁開著自動播放的影片。
場景三:連接數異常多
正常瀏覽時連接數在幾十條量級。如果看到成百上千條並且不斷增長:
- 可能是某個應用在瘋狂重連(看行程列)
- 可能是 P2P 類軟體(BT、迅雷)
- 可能是規則設定有問題導致連接建立後立刻失敗又重試
點右上角的「關閉所有連接」可以一次性清空,觀察哪些會立刻重新出現。
日誌頁:調對級別再看
日誌 頁面右上角可以切換級別:
常見日誌報錯對照表
| 日誌內容 | 中文含義 | 怎麼處理 |
|---|---|---|
dial tcp x.x.x.x:443: i/o timeout | 連接節點逾時 | 節點不通,換一個測試 |
connection refused | 目標主動拒絕 | 節點連接埠錯誤或服務已停 |
unsupported proxy type: xxx | 核心不認識這個協議 | 更新 Mihomo 核心 |
unmarshal error / yaml: line N | 設定檔語法錯誤 | 檢查訂閱或自定義設定的 YAML |
no such host / DNS resolve failed | 網域解析失敗 | DNS 設定問題,見下 |
EOF | 連接被對端中斷 | 節點不穩定或被限速 |
context deadline exceeded | 逾時(內部) | 通常是節點回應太慢 |
Start initial provider 後卡住 | 規則集下載不下來 | 網路問題,或規則集地址失效 |
用日誌和連接頁解決三個典型問題
問題一:「某網站打不開」
問題二:「速度很慢」
先在連接頁看這條連接的實际下載速率。
- 速率本身就低 → 節點或線路問題,換節點測試
- 速率正常但頁面載入慢 → 可能是 DNS 慢,或者頁面本身有很多資源走了不同線路
日誌切 debug,看 DNS 查詢耗時。如果大量 DNS 請求耗時幾百毫秒,說明 DNS 設定需要最佳化。
問題三:「明明開了代理,但某軟體還是走直連」
在連接頁的「行程」列找這個軟體。
- 找不到它的連接 → 這個程式不讀系統代理,需要開 TUN
- 找到了但策略是 DIRECT → 規則把它判成直連了,看「規則」列是哪條規則命中的
- 找到了且策略是節點,但軟體還是提示連不上 → 軟體本身的問題,或者節點不支援它需要的協議(比如 UDP)
一個進阶技巧:用連接頁反推規則問題
假設你發現 api.example.com 走了直連但你想讓它走代理。在連接頁看到「規則」列顯示 GEOIP,CN。
這說明:這個網域解析出來的 IP 在中国大陆境內,所以被 GEOIP 規則判成了直連。
修正方法是在 GEOIP 規則之前插入一條更具體的規則:
prepend-rules:
- DOMAIN-SUFFIX,example.com,🚀 节点选择因為規則是從上往下匹配的,插到前面就會優先命中。
導出日誌給別人看
遇到搞不定的問題需要求助時,提供有效資訊能大幅提高解決效率:
小結
- 連接頁的「規則」和「策略」兩列,是排查分流問題的黃金組合
- 日誌切 debug 能看到 DNS 和規則匹配細節,排查完切回 info
- 大部分「打不開」問題,看一眼連接頁就知道是沒走代理、走錯線路、還是節點本身不通