临时排查时常常会把 allow-lan 打开、把 bind-address 设为 "*"、把 lan-allowed-ips 留在默认的 0.0.0.0/0 与 ::/0,甚至清空 lan-disallowed-ips 或暂时去掉 authentication。官方把这些项定义为代理端口的入站范围,而不是长期例外清单。排查结束后若不收回,等于继续允许更宽的来源经过 http(s)/socks/mixed 端口。整理时只应改回与真实使用范围一致的入站控制,并恢复日志级别,避免把 API 监听、出站接口和运行模式卷进同一次“收口”。
先收回允许局域网的范围,而不是只关日志
适用条件是:排查期间曾让其他设备使用代理端口,或曾把绑定从单一地址改成全部地址。判断依据是最终是否还需要非本机入站。若不需要其他设备经代理端口访问互联网,应按文档把 allow-lan 设回 false;该项为 false 时,局域网白名单不会作为放行依据。若仍需要局域网访问,则保持 allow-lan 为 true,但检查 bind-address 是否必须为 "*":若只想在当前某一个 IPv4 或 IPv6 上提供代理,应绑定该地址,而不是长期监听所有地址。
操作顺序建议只动入站三项:允许局域网、绑定地址、两份 IP 名单。mode 默认 rule,与是否允许局域网无关,收口时不必改成 direct 来“代替防火墙”。失败时下一步:若收回 allow-lan 后本机环回仍可用、其他设备不可用,说明行为已回到文档定义;若本机也不通,说明收得过狠或问题本来就不在局域网开关,应单独检查监听是否仍在预期地址上,而不是立刻重新全放行。
用白名单、黑名单和认证代替“临时全开”
适用条件是:仍要给有限来源保留代理入站。官方提供 lan-allowed-ips 与 lan-disallowed-ips,并写明黑名单优先级高于白名单、黑名单默认空。整理例外时,应把排查中加入的过宽网段改成实际需要的前缀,并用黑名单剔除不应访问的地址,而不是依赖“记得以后再关”。authentication 为代理提供用户验证;skip-auth-prefixes 只应保留真正允许跳过验证的段。把跳过前缀写成过大网段,等于绕过认证。
判断依据是:来源必须同时不被黑名单命中、被白名单覆盖(在 allow-lan 为 true 时),并且满足认证或位于跳过前缀。失败时下一步:每收紧一段就用该段内外各一个来源对照,避免一次删除所有临时项后无法定位。不要把 external-controller 监听 0.0.0.0、关闭 secret、或开启不验证密钥的 Unix socket / named pipe / external-doh-server 留作“方便排查”的长期状态;文档明确这些 API 路径的安全需自行保证,它们也不是代理端口例外。
恢复观测项并避免把无关全局项当成例外
适用条件是:排查中曾把 log-level 设为 debug 或从 silent 临时打开。日志仅在控制台和控制页面输出;日常若只需要错误,可用 error 或 warning,需要一般运行记录再用 info。debug 会尽可能输出运行中所有信息,不适合当作长期“防火墙审计开关”。ipv6 是否允许内核接受 IPv6 流量应回到实际需求,默认 true,不要因为某次纯 IPv4 网络排查就长期关闭,除非明确不再接受 IPv6 入站。
find-process-mode、interface-name、routing-mark、TCP Keep Alive、unified-delay、tcp-concurrent、GEO 加载与更新等,都不承担局域网例外清单的职责。排查时若改过出站接口,收口时应确认它仍指向当前有效网卡,否则会表现为“入站例外已整理、出站却全失败”。profile 的 store-selected 与 store-fake-ip 只储存策略组选择和 fakeip 映射,不能用来记住防火墙例外。失败时下一步:列出本次临时改动是否仍停留在 allow-lan、bind-address、lan-allowed-ips、lan-disallowed-ips、authentication、skip-auth-prefixes 和 log-level;若系统层曾另加放行,需在系统侧单独撤回,因为官方该页并不管理操作系统防火墙规则。