域名规则管不到的连接,端口规则往往能管——比如只有 IP 没有域名的请求,或者你想整段拦掉的某个协议。
写法
rules:
- DST-PORT,25,DIRECT
- DST-PORT,5353,REJECT
- SRC-PORT,7891,PROXY
- MATCH,PROXY
DST-PORT 看的是目标端口,SRC-PORT 看的是本机发起连接时用的源端口。日常用得多的是前者;后者只在你给某个程序单独开了监听口时才有意义。端口写单个数字,写不了范围,需要多个就多写几行。
顺序决定一切
规则自上而下匹配,第一条命中即停,端口规则也不例外。把 DST-PORT,443 放在最前面,下面所有 HTTPS 的域名规则就全部作废了——这是最常见的翻车方式。稳妥的排法是域名规则在前、端口规则在后、MATCH 兜底在最后,完整说明见 规则基础:规则类型与匹配顺序。
三个实用例子
- 掐掉 QUIC:只写
DST-PORT,443,REJECT会把 HTTPS 一起干掉。内核支持NETWORK规则时,用NETWORK,udp限定才安全;不支持就干脆在浏览器设置里关掉 QUIC。 - 邮件客户端直连:
DST-PORT,993,DIRECT和DST-PORT,465,DIRECT,邮箱服务器在境内时能省一跳,收发也更稳。 - 内网服务:NAS 的 5000、路由器后台的 80,配合私有网段规则一起写,见 内网设备直连。
按进程分流是端口规则之外的另一条路,两者经常一起用,见 PROCESS-NAME 规则。
验证:改完打开 Connections 页面看那条连接的规则列,显示的就是实际命中的规则。不是你写的那条,说明被上面某条抢先了。