一個請求進來,三種模式分別怎麼走
介面上那三個按鈕改的是設定最上層的 mode 鍵,寫在檔案裡就是 mode: rule。改它不需要重啟核心,核心會即時切換。
rule:請求帶著網域或 IP,從rules第一條往下比,命中哪條就交給那條指定的策略群組。一路到最後一條MATCH還沒命中的,全歸它——所以MATCH指向什麼,決定了沒人認領的流量去哪。global:整個rules跳過,所有請求交給名為 GLOBAL 的那個群組。群組裡通常列著設定中的全部節點,你選誰就走誰。direct:同樣跳過規則,全部原樣送出去,一個節點都不用。
拿一份典型規則的尾巴舉例,前兩條把國內網域和國內 IP 放直連,最後一條兜住剩下的:
mode: rule
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT,no-resolve
- MATCH,PROXY
合作推薦訂閱連結從哪來?本站合作機場註冊即送 1GB 香港高速體驗流量,可直接一鍵匯入。取得高速節點
Global 是排查工具,不是加速開關
切 Global 的價值在於把規則這個變數拿掉。某個網站打不開,你懷疑是被哪條 DIRECT 規則放到了直連——切過去如果馬上正常,問題就在規則那邊;還是不行,規則是清白的,去看節點和 DNS。
- 先記下目前是什麼模式、總出口群組選的哪個節點,等一下要切回來。
- 切到 Global,在 GLOBAL 群組裡挑一個你確認可用的節點。
- 清一次連線清單再重新整理那個網站,沒清的話你看到的可能還是舊連線的表現。
- 通了就切回 Rule,在連線頁看這個網域命中了哪條規則;還不通就換個節點,兩個節點都不行,問題多半不在模式上。
Direct 不等於關掉用戶端
Direct 模式下流量確實全部直連,但用戶端還在鏈路上。系統代理開關沒關,瀏覽器照樣把請求送給 127.0.0.1 的混合連接埠;TUN 開著的話虛擬網卡還在接管路由。只是核心收到之後不再往節點轉,改成自己送出去,DNS 也可能仍然走核心那一套。
這決定了它的用途:暫時排除「是不是代理的鍋」,比結束用戶端乾淨。直接結束會留下系統代理指向一個沒人監聽的連接埠,瀏覽器立刻全線報錯,你反而分不清是代理壞了還是網站壞了。
切完模式,舊連線還在
已經建立的 TCP 連線,路徑在交握那一刻就定死了,之後改 mode 管不著它。瀏覽器會重用 keep-alive 連線,影片和聊天軟體的長連線更是能掛好幾個小時。所以才總有人說「我明明切成全域了,怎麼還是老樣子」。切完去連線頁清空一次,或者重啟核心;瀏覽器那邊有時還得把分頁關掉重開。
別長期停在 Global。這時候國內網站、系統更新、雲端同步全都走節點,按量計費的方案掉得很快,不少服務看到境外 IP 還會跳驗證碼甚至觸發風控。排查完記得切回 Rule。