
Clash怎么代理本地局域网:完整配置指南与实战教程
在日常网络使用中,很多用户不仅需要让本机通过Clash访问外网,还希望手机、平板、电视盒子甚至虚拟机等局域网设备也能共享代理。这就涉及到一个核心问题:Clash怎么代理本地局域网。本文将从原理、配置步骤、常见问题三个维度,系统讲解如何让Clash成为局域网内的代理网关。
为什么需要让Clash代理本地局域网
默认情况下,Clash只监听本机回环地址(127.0.0.1),其他设备无法直接使用。如果你家里有多台设备需要科学上网,逐台安装客户端既繁琐又难以统一管理。通过让Clash代理本地局域网,你可以实现:
1. 统一出口策略:所有设备共用同一套规则和节点,避免重复订阅和配置。
2. 降低维护成本:只需在主机上更新Clash配置,局域网内设备自动生效。
3. 支持无法安装Clash的设备:如智能电视、游戏主机、IoT设备等,只需设置HTTP代理或网关即可。
如果你还不了解Clash的基本用法,建议先阅读Clash入门教程,再继续本文的局域网代理配置。
Clash代理本地局域网的核心原理
Clash本质上是一个支持HTTP/SOCKS5的代理服务器,同时具备TUN模式。要让局域网设备使用Clash,需要解决两个问题:监听地址和流量转发。
监听地址:Clash默认绑定127.0.0.1,只有本机可访问。将其改为0.0.0.0或局域网IP(如192.168.1.100),其他设备才能连接。
流量转发:局域网设备可以通过两种方式使用Clash:
• 显式代理:在设备上手动设置HTTP/SOCKS5代理地址为Clash主机的IP和端口。
• 网关代理:将Clash主机设置为设备的网关,配合TUN模式或iptables转发,实现透明代理。
两种方式各有优劣:显式代理配置简单,但部分应用不支持;网关代理更彻底,但配置复杂度高。下面分别讲解。
方法一:通过HTTP/SOCKS5代理让局域网设备使用Clash
这是最简单、最通用的方式,适合大多数家庭场景。
步骤1:修改Clash监听地址
打开Clash配置文件(通常为config.yaml),找到以下字段:
mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
将其修改为:
mixed-port: 7890
allow-lan: true
bind-address: 0.0.0.0
allow-lan: true 是开启局域网代理的关键;bind-address: 0.0.0.0 表示监听所有网卡。如果你只想监听特定网卡,可以填写局域网IP,如192.168.1.100。
如果你使用的是Clash for Windows或Clash Verge,可以在图形界面中直接勾选“Allow LAN”选项,无需手动编辑配置文件。关于不同客户端的详细设置,可参考Clash客户端配置。
步骤2:获取Clash主机的局域网IP
在Windows上打开命令提示符,输入ipconfig;在macOS/Linux上输入ifconfig或ip addr。找到类似192.168.x.x的地址,这就是局域网IP。
步骤3:在其他设备上设置代理
以手机为例,进入Wi-Fi设置,将代理设为“手动”,填写:
• 主机名:192.168.1.100(你的Clash主机IP)
• 端口:7890(mixed-port)
• 类型:HTTP或SOCKS5
保存后,手机浏览器即可通过Clash访问外网。如果无法连接,请检查主机防火墙是否放行7890端口。
方法二:将Clash配置为局域网网关(透明代理)
如果你希望局域网设备无需任何设置就能自动走代理,可以将Clash主机配置为网关。这种方式适合技术用户,通常需要结合TUN模式或iptables。
Windows平台:使用TUN模式+网络共享
Clash for Windows和Clash Verge均支持TUN模式。开启TUN后,Clash会创建一个虚拟网卡,接管本机所有流量。然后通过Windows的“Internet连接共享”功能,将Clash主机的网络共享给局域网其他设备。
具体操作:
1. 开启Clash的TUN模式,并确保“Allow LAN”已勾选。
2. 进入“网络和共享中心” → “更改适配器设置”,右键Clash TUN网卡 → 属性 → 共享,勾选“允许其他网络用户通过此计算机的Internet连接来连接”,选择你的局域网网卡。
3. 在其他设备上将网关设置为Clash主机的局域网IP,DNS设置为8.8.8.8或Clash主机的IP。
这样,局域网设备的流量会先经过Clash主机,再由Clash根据规则转发。
Linux平台:iptables+Clash透明代理
Linux下通常使用iptables将局域网设备的流量重定向到Clash的透明代理端口。核心命令如下:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -j REDIRECT --to-ports 7892
其中7892是Clash的redir-port(需在配置中开启)。同时需要设置allow-lan: true和bind-address: 0.0.0.0。具体脚本可参考Clash透明代理教程。
常见问题与排错指南
问题1:局域网设备无法连接Clash代理
首先确认Clash主机的防火墙是否放行代理端口。Windows Defender防火墙默认会阻止外部连接,需手动添加规则。其次检查allow-lan是否已设为true,以及bind-address是否为0.0.0.0。
问题2:能连接代理但无法上网
可能是Clash规则问题。检查Clash日志,看请求是否被正确匹配。如果使用网关模式,还需确认DNS设置是否正确,建议将局域网设备的DNS指向Clash主机或公共DNS。
问题3:部分应用不走代理
显式代理模式下,部分应用(如某些游戏、UWP应用)可能忽略系统代理。此时需要改用TUN模式或网关模式。关于TUN模式的详细说明,可阅读Clash TUN模式详解。
问题4:Clash主机重启后IP变化
建议在路由器中为Clash主机设置静态IP或DHCP保留,避免每次重启后局域网代理失效。
总结与最佳实践
让Clash代理本地局域网并不复杂,核心就是开启allow-lan并正确设置监听地址。对于大多数用户,方法一(显式代理)已经足够;如果追求无感透明代理,方法二(网关模式)更彻底,但需要一定的网络知识。
最佳实践建议:
• 为Clash主机分配静态IP,方便其他设备长期使用。
• 定期更新Clash配置和规则,确保代理稳定性。
• 如果局域网设备较多,考虑使用软路由或树莓派作为专职代理网关。
掌握Clash怎么代理本地局域网后,你就能让全屋设备共享代理,既省心又高效。如果在配置过程中遇到问题,欢迎参考本站其他Clash相关教程,或留言交流。