局域网共享代理的安全风险来源
代理端口暴露在局域网中无认证保护
Clash VPN开启局域网共享代理(Allow LAN)后,HTTP代理端口(默认7890)和SOCKS5代理端口(默认7891)在整个局域网内可被任意设备访问,且默认不设任何身份验证。任何连接到同一WiFi网络的设备,只需在代理设置中填入运行Clash的电脑的IP地址和端口号即可使用代理服务,无需用户名或密码验证。这意味着同一局域网内的所有设备均可无障碍连接,存在被他人滥用的风险。代理协议的底层设计本身不包含认证机制,Clash未在应用层添加额外的访问控制。
未授权设备消耗代理带宽
当代理端口在局域网中暴露且无访问控制时,同一WiFi下的其他设备(包括访客设备、物联网设备)可能被他人或恶意程序自动发现并使用该代理。代理带宽被未授权设备消耗后,运行Clash的电脑和授权设备的网速会受到影响。若多台未授权设备同时使用代理,节点带宽可能被迅速占满,正常使用体验严重下降。在公共WiFi或多人共享的家庭网络中,代理服务在无限制的情况下被滥用的风险大幅上升。
局域网中的流量嗅探风险
局域网共享代理默认使用HTTP代理协议,设备与代理服务器之间的通信未加密(SOCKS5同样不加密)。同一局域网内的其他设备可通过ARP欺骗或网络嗅探截获经过代理的HTTP明文流量,获取设备的访问记录和敏感数据。虽然HTTPS流量因端到端加密保护内容不被窃取,但访问的域名仍可通过TLS SNI字段被截获。若代理服务器本身被植入恶意软件,所有经过该代理的设备的网络流量都可能被监控或篡改。
代理端口暴露到公网的严重风险
端口映射导致代理服务暴露在公网
若在路由器上为运行Clash的电脑设置了端口映射(端口转发),或电脑开启了DMZ主机功能,局域网中的代理端口可能被映射到公网IP上。此时互联网上的任意设备均可尝试连接该代理端口,攻击者可通过端口扫描发现暴露的代理服务并直接使用。用户反馈曾发现代理服务的上行带宽被来自俄罗斯的IP地址占满,导致整个家庭网络严重卡顿,代理节点流量被陌生设备大量消耗。
公网暴露后的流量盗用与节点消耗
代理端口暴露在公网后,攻击者可通过该代理发送大量流量(如P2P下载、视频转码等),消耗订阅节点的流量配额和带宽。若节点的流量套餐有限,流量可能在短时间内被耗尽,导致订阅提前失效或产生额外费用。攻击者还可能利用代理作为跳板发起对其他目标的攻击,使攻击流量看起来源自用户的IP地址,带来法律和合规风险。
远程控制与API暴露的叠加风险
若Clash的Web管理端口(9090)也暴露在公网且未设置secret密钥,攻击者不仅可使用代理服务,还可通过API切换节点、查看连接记录、修改配置甚至注入恶意规则。恶意规则可被配置为将所有流量重定向至攻击者控制的服务器,实现中间人攻击,窃取敏感数据。API端口与代理端口同时暴露时,Clash实例被完全控制的风险显著增加。
访问控制与安全加固措施
使用allowed-ips限制允许连接的IP
在config.yaml中配置allowed-ips白名单,仅允许指定的IP地址连接代理端口,可有效防止未授权设备使用代理。配置示例为allowed-ips: - 192.168.1.100/32 - 192.168.1.110/32,仅允许这两个IP连接,局域网中其他设备无法连接到代理端口。该功能需要Mihomo内核v1.15.0及以上版本支持。白名单限制后,非授权设备尝试连接代理会收到连接拒绝错误,无法消耗代理带宽。
绑定特定网络接口限制监听范围
将bind-address从*改为运行Clash的电脑的特定局域网IP地址,使Clash仅监听该IP而非所有接口。配置示例为bind-address: 192.168.1.100,仅该IP所在的局域网段可访问代理,一定程度上限制了访问范围,但同一子网内的其他设备仍可连接。若需进一步限制,需配合allowed-ips实现精细控制。
修改默认端口降低被扫描风险
将HTTP代理端口从默认的7890改为其他高位端口(如10809),可降低被自动化扫描工具发现的风险。配置示例为port: 10809,修改后局域网设备连接代理时需使用新端口。改端口虽不能作为唯一安全措施,但可减少被盲目探测的概率。需同步更新所有使用代理的设备的代理端口配置。
使用认证代理的方案
在代理前端添加认证层
Clash本身不支持代理认证,但可在Clash前端部署支持认证的代理软件(如Squid、nginx)实现用户名密码验证。局域网设备需先通过认证才能使用代理服务,未认证设备无法连接。该方案增加了配置复杂度,但提供了更强的访问控制能力。Squid支持HTTP Basic认证,nginx支持基于IP和用户名密码的混合认证。
通过SOCKS5代理配合认证
部分SOCKS5代理服务支持用户名密码认证,但Clash的SOCKS5代理实现不内置认证支持。若需认证功能,可考虑使用支持认证的SOCKS5代理服务(如Dante)替代Clash的SOCKS5功能,将Clash作为上游代理。该方案技术门槛较高,适合对安全有严格要求的场景。
使用VPN替代局域网代理共享
若需要在局域网中安全共享网络通道,可考虑使用VPN方案(如Tailscale、ZeroTier)替代局域网代理共享。VPN提供端到端加密和身份验证,设备间通信经过加密且需授权加入网络,安全性远高于HTTP代理。VPN方案适合需要长期在多设备间共享网络通道的场景。
路由器级限制与监控
在路由器上配置ACL规则
在路由器管理后台配置ACL(访问控制列表)规则,仅允许特定IP访问运行Clash的电脑的7890端口。配置后即使Clash的allowed-ips未配置,未经授权的设备也无法通过网络层连接到代理端口。ACL规则在网络层进行控制,独立于Clash配置,是基础防护层的补充。
通过路由器监控代理端口流量
在路由器上监控7890端口的流量,观察是否有来自未知IP的大量连接。定期检查路由器连接列表中是否有异常IP大量访问7890端口,可及时发现代理被滥用的情况。若发现异常,立即在allowed-ips中限制允许的IP列表,或在路由器上阻断异常IP的访问。
定期检查Clash连接面板
通过Clash Dashboard查看活跃连接列表,确认是否有来自未知IP的连接。在Clash Verge Rev的「连接」面板中查看连接详情,若发现来自非授权IP的活跃连接,说明代理已被他人使用,立即在allowed-ips中添加限制并重启Clash。定期检查可及时发现和阻止滥用行为。
常见问题FAQ
局域网共享代理会被同一WiFi下其他人使用吗?
会。同一WiFi下的所有设备均可通过代理端口扫描或网络自动发现找到运行Clash的电脑的代理服务。若未设置allowed-ips白名单或认证机制,任何设备均可直接使用代理,存在被他人滥用的风险。
如何防止局域网中未授权设备使用代理?
在config.yaml中配置allowed-ips白名单,仅允许已知IP连接。修改默认代理端口降低被自动发现概率。若需更强的安全保护,使用VPN方案替代局域网代理共享。
代理端口暴露到公网后有什么风险?
公网暴露后,攻击者可发现并使用代理消耗节点流量和带宽,可能利用代理作为跳板发起攻击,攻击流量源头显示为用户的公网IP。若API端口同时暴露,攻击者还可在无认证的情况下通过API完全控制Clash。
Clash局域网共享代理的流量是否加密?
HTTP代理和SOCKS5代理的流量不加密,设备与代理服务器之间的通信明文传输。HTTPS流量因端到端加密保护内容安全,但访问的域名仍可能被截获。若需加密传输,应使用支持TLS的代理方案或VPN。
