Clash 结合 工作VPN 的网络设计
内容提要
本文介绍了使用Clash结合工作VPN的网络设计,解决了公司VPN和Clash规则冲突的问题。作者提供了解决方案,即使用Clash规则中的SRC-IP-CIDR和fake-ip-filter。同时还介绍了在独立设备上搭建socks5服务的方法,以便笔记本或台式机可以使用VPN网络。
延伸解读
冲突根源:VPN与Clash规则重叠
公司VPN和Clash都依赖路由规则分流流量,当两者规则重叠时,尤其是Clash启用fake-ip后,VPN流量可能被错误地直连或代理,导致无法访问公司内部资源。文章指出,这种冲突并非配置错误,而是两种分流机制在IP层和域名解析上的固有矛盾,需要针对性调整规则。
核心解法:独立设备与SRC-IP-CIDR
作者建议划分一台独立设备并设置固定IP,在Clash配置中添加SRC-IP-CIDR规则,使该IP的流量全部直连。这样相当于为VPN开辟专用通道,避免与Clash规则冲突。该方法简单有效,但要求设备IP固定,且仅适用于该设备,其他设备仍需通过代理访问VPN网络。
规则代理模式下的补充:fake-ip-filter
如果公司VPN采用规则代理模式,而Clash使用fake-ip,部分内部网站可能因fake-ip未命中VPN路由而无法访问。此时需在config.yml的fake-ip-filter中加入相关域名,让这些域名绕过fake-ip解析,从而正确匹配VPN规则。这是对SRC-IP-CIDR方案的必要补充。
共享VPN网络:SSH动态转发搭建socks5
独立设备解决VPN连接后,其他设备如何共享?作者提出在独立设备上搭建socks5服务,并给出更简单的SSH动态转发命令:ssh -D 端口 用户@主机。笔记本通过SwitchOmega等连接该socks5代理,即可临时使用VPN网络,无需复杂配置,适合临时需求。
Q&A
Clash和工作VPN结合的主要目的是什么?
主要目的是解决公司VPN与Clash规则之间的冲突问题。
如何在Clash中配置SRC-IP-CIDR规则?
在config.yml中,rules下添加一条特殊规则,例如:rules: - SRC-IP-CIDR,192.168.100.3/32,DIRECT。
如果工作VPN是规则代理模式,应该如何处理?
需要在config.yml的fake-ip-filter中加入相关域名,以解决访问问题。
如何搭建socks5服务以便使用VPN网络?
可以在独立机器上使用SSH命令搭建socks5服务,例如:$ ssh -D $port_number $username@$hostname。
使用Clash时,fake-ip功能可能导致什么问题?
可能导致一些内部网站无法访问,因为fake-ip模式生成的地址未命中VPN的路由规则。
如何确保笔记本或台式机可以访问VPN流量?
通过连接到搭建的socks5服务,笔记本或台式机可以使用VPN网络中的流量。