目录
Clash简介
Clash是一款开源的跨平台代理客户端,支持多种代理协议,如Shadowsocks、Vmess等,能够提供快速、稳定的网络代理服务。在OpenWRT路由器上部署Clash,可以实现全局代理或者分流代理,为家庭和办公网络提供优质的网络访问体验。
Clash在OpenWRT上的安装
安装依赖包
在OpenWRT系统上安装Clash之前,需要先安装一些依赖包:
- curl
- ca-certificates
- unzip
可以通过以下命令进行安装:
opkg update opkg install curl ca-certificates unzip
下载Clash二进制文件
前往Clash官方GitHub仓库下载适用于OpenWRT的Clash二进制文件。选择与您的OpenWRT系统架构匹配的版本,例如clash-linux-armv7
。
将下载的文件上传到OpenWRT路由器上的/usr/bin/
目录,并赋予可执行权限:
chmod +x /usr/bin/clash
创建Clash配置文件
Clash需要一个配置文件来指定代理服务器、策略组等信息。可以在/etc/clash/
目录下创建一个名为config.yaml
的配置文件。
Clash配置文件编辑
配置文件格式说明
Clash的配置文件采用YAML格式,主要包含以下几个部分:
proxies
: 代理服务器节点配置proxy-groups
: 策略组配置dns
: DNS服务器配置
服务器节点配置
在proxies
部分,可以添加多个代理服务器节点,每个节点的配置包括节点名称、类型、服务器地址、端口、密钥等信息。以Shadowsocks节点为例: yaml proxies:
- name: ss-server-1 type: ss server: 192.168.1.100 port: 8388 password: your_password cipher: aes-256-cfb
策略组配置
在proxy-groups
部分,可以配置不同的策略组,用于实现分流代理。常见的策略组类型包括:
select
: 手动选择节点url-test
: 根据延迟自动选择最快节点fallback
: 根据可用性自动选择节点
以select
类型的策略组为例: yaml proxy-groups:
- name: Proxy type: select proxies:
- ss-server-1
- ss-server-2
- direct
DNS配置
在dns
部分,可以配置DNS服务器地址,以及一些DNS解析规则。例如: yaml dns: enable: true listen: 0.0.0.0:53 default-nameserver: – 8.8.8.8 – 1.1.1.1 enhanced-mode: redir-host nameserver: – 114.114.114.114 – 223.5.5.5
Clash在OpenWRT上的运行
启动Clash服务
将Clash二进制文件放置在/usr/bin/
目录后,可以通过以下命令启动Clash服务:
/usr/bin/clash -d /etc/clash
开机自启动
为了让Clash服务在OpenWRT开机时自动启动,可以在/etc/init.d/
目录下创建一个Clash启动脚本clash
,内容如下:
#!/bin/sh /etc/rc.common
START=95 STOP=10
start() { /usr/bin/clash -d /etc/clash} stop() { killall clash}
然后执行以下命令使其生效:
chmod +x /etc/init.d/clash /etc/init.d/clash enable
Clash使用指南
代理模式切换
Clash支持以下几种代理模式:
global
: 全局代理rule
: 根据规则进行分流代理direct
: 直连模式,不使用代理
可以通过以下命令进行模式切换:
/usr/bin/clash -mode global /usr/bin/clash -mode rule /usr/bin/clash -mode direct
服务器节点切换
如果配置了多个代理服务器节点,可以通过以下命令切换节点:
/usr/bin/clash -proxies-provider your_provider_name
日志查看
Clash的日志文件位于/tmp/clash.log
,可以通过以下命令查看:
cat /tmp/clash.log
Clash常见问题解答
Clash无法启动
- 检查Clash二进制文件是否存在于
/usr/bin/
目录,并且是否有可执行权限 - 检查配置文件
/etc/clash/config.yaml
是否存在,且格式是否正确 - 查看日志文件
/tmp/clash.log
是否有报错信息
网络连接缓慢
- 检查代理服务器节点是否可用,并尝试切换其他节点
- 检查策略组配置是否合理,是否存在节点质量较差的情况
- 检查DNS配置是否正确,是否存在DNS污染问题
代理模式切换失败
- 检查Clash是否正常运行,查看日志文件是否有报错
- 尝试使用
/usr/bin/clash -mode global|rule|direct
命令进行手动切换 - 检查OpenWRT系统是否存在其他代理软件冲突的情况