混合端口是Clash最核心的功能之一,通过同时启用HTTP/SOCKS代理和TUN模式,可同时满足浏览器网页访问和应用程序跨境联网需求,本文详解配置步骤、代理组类型选择及分流规则写法。
什么是混合端口
混合端口指在Clash中同时开启7890端口(HTTP/SOCKS代理)和7891端口(TUN虚拟网卡),前者处理浏览器HTTP/HTTPS请求,后者接管系统全部流量(包括UDP、游戏数据包),这种组合模式能覆盖绝大多数跨境办公需求。
配置步骤
基础设置
打开Clash客户端配置文件(YAML格式),找到port和socks-port字段:
port: 7890 socks-port: 7891 allow-lan: false mode: rule external-controller: 127.0.0.1:9090
port为HTTP代理端口,socks-port为SOCKS5代理端口,系统代理模式下,浏览器及其他应用程序通过这两个端口连接。
开启TUN模式
在配置文件中添加tun部分:
tun:
enable: true
stack: system
dns-hijack:
- 8.8.8.8
- 8.8.4.4
auto-route: true
stack推荐使用system模式,兼容性最佳,TUN模式开启后,所有经过网卡的流量都会被Clash接管,包括UDP协议。
代理组配置
代理组是Clash的核心,负责节点选择逻辑:
proxy-groups:
- name: 手动选择
type: select
proxies:
- 节点A
- 节点B
- DIRECT
- name: 自动测速
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点A
- 节点B
- name: 故障转移
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点A
- 节点B
- select(手动):用户自行切换节点,适合对节点有特殊需求的用户
- url-test(自动):自动选择延迟最低的节点,适合日常办公
- fallback(故障转移):优先使用列表中第一个可用的节点,适合追求稳定性的场景
分流规则写法
规则决定流量走哪个代理组,Clash按规则顺序匹配,命中后停止:
rules: # 域名精确匹配 - DOMAIN,google.com,手动选择 # 域名后缀匹配 - DOMAIN-SUFFIX,github.com,自动测速 # IP段匹配 - IP-CIDR,8.8.8.8/32,手动选择 # 地理位置匹配 - GEOIP,CN,DIRECT # 默认规则 - MATCH,故障转移
优先级:DOMAIN > DOMAIN-SUFFIX > IP-CIDR > GEOIP > MATCH,常用规则写法包括:
DOMAIN:精确域名,适合单个网站DOMAIN-SUFFIX:域名后缀,适合整类网站IP-CIDR:IP段匹配,适合内网或CDNGEOIP:根据IP库判断地理位置
TUN模式与系统代理的区别
| 特性 | 系统代理(7890端口) | TUN模式 |
|---|---|---|
| 协议支持 | HTTP/HTTPS/SOCKS5 | 全部(TCP/UDP) |
| 游戏加速 | 不支持 | 支持 |
| 配置复杂度 | 简单 | 需额外配置路由 |
| 兼容性 | 部分应用不兼容 | 更高 |
如果仅需浏览器访问网页,单独使用系统代理即可,如需加速游戏或应用程序,必须开启TUN模式。
常见问题FAQ
现象:开启TUN模式后无法上网
原因:DNS劫持导致域名解析失败,或路由表冲突
解决方法:检查tun配置中dns-hijack是否正确设置,尝试将stack改为gvisor模式
现象:部分网站仍无法访问
原因:分流规则未覆盖该网站域名
解决方法:在规则列表中添加对应DOMAIN-SUFFIX规则,或使用RULE-SET引用在线规则集
现象:代理组切换后速度变慢
原因:新节点带宽不足或距离较远
解决方法:将代理组类型改为url-test,设置较短interval自动切换最优节点
节点选择建议
不同使用场景对节点要求不同:
- 4K视频:选择高带宽专线,延迟可适当放宽
- 跨境游戏:选择低延迟节点,优先ping值低于100ms
- 日常办公:选择稳定性优先,建议使用
fallback代理组
判断节点服务商靠不靠谱,主要看三点:是否提供测速通道、节点更新频率、客服响应速度,建议选择提供免费测试时长的服务商后再决定是否长期使用。
