软路由(七)OpenClash安装和配置

OpenClash是在OpenWrt上构建基于Clash内核运行的网络功能插件,插件本身相当复杂,使用有一定门槛,这篇博客 带小白做最基本的安装和配置。

一、安装方法:

方法一:系统集成,有一些openwrt中已经打包好了OpenClash插件,我们就不需要自己安装,直接使用即可,具体插件推荐可以参见博主之前的收藏软路由(二)OpenWrt指南

方法二:插件安装,插件安装的方法需要自己现在插件,手动进入控制台,运行命令进行安装

#OpenClash 依赖的是 dnsmasq-full,所以需要移除默认的dnsmasq,否则会导致OpenClash 安装失败
opkg remove dnsmasq && opkg install dnsmasq-full

#下载并安装 OpenClash
wget https://github.com/vernesong/OpenClash/releases/download/v0.45.35-beta/luci-app-openclash_0.45.35-beta_all.ipk -O openclash.ipk
opkg update
opkg install openclash.ipk

#添加luci-compact并重启
opkg install luci luci-base luci-compat
reboot

根据使用的openwrt版本和openclash版本不同,可能会报其它依赖问题,可能需要根据依赖错误提示灵活解决。

方法三:编译安装,一般方法二搞不定的时候我们会选择手动编译插件,由于门槛较高,本博客不做介绍

二、基础名词

开始之前,为了我们能够读懂插件配置界面,我们需要熟悉下面几个名词:

代理协议:

  • SS,指shadowsocks
  • Trajon
  • vmess
  • Snell

运行模式:

https://github.com/vernesong/OpenClash/wiki/%E5%B8%B8%E8%A7%84%E8%AE%BE%E7%BD%AE

redir-host和fake-ip,前者已经被一起,因为前者是要去获取dns解析的,dns解析可能会解析到污染的ip,并且大多时候是需要他进行dns解析的,fake-ip则返回一条假IP,并且对ip和域名进行了映射关系缓存,这样浏览器拿到假的ip后进行tcp连接,请求再次到达qx/clash,被截获后, 找到对应的域名, 接下来就是针对域名的规则匹配

  • Fake-IP:当客户端发起请求查询 DNS 时,会先返回一个随机的保留地址,同时查询上游 DNS 服务器,如果需要代理则发送给代理服务器查询,然后再进行连接;客户端立即向Fake-IP 发起的请求会被快速响应,节约了一次本地向DNS服务器查询的时间
  • Redir-Host:TUN 当客户端发起请求时,会并发查询 DNS,等待返回结果后再尝试进行规则判定和连接,如果需要代理,会使用fallback 的 DNS 服务器再次查询;与不使用 OpenClash 相比,多了过滤,fallback 查询的时间,响应速度可能会变慢
  • 它们都有 兼容,TUN 和混合 三种模式,区别在与 TUN 可以代理 UDP流量

代理方式:

  • Proxy/Proxy-grops, 表示走代理服务器,
  • REJECT,表示禁止访问,直接阻断该地址的连接
  • DIRECT,直连,表示不经过代理服务器直接访问该网站

代理模式:

  • Rule,按照一定规则进行连接
  • Global,全局代理模式
  • Direct,直连
  • Script,按照一定的脚本规则进行连接(一般由机场提供,自己也可以更改)

三、插件配置

1. 状态查看

首先,我们可以进入插件首页查看插件运行状态,程序一开始是不运行的

2. 更新Crash内核

我们进入插件设置页面,可以查看现在的内核状态,一般Dev、Tun、Meta,三个内核中至少有一个,OpenCrash才可以运行,(最好三个内核都更新下来),如果没有Crash内核,界面会提示文件不存在。如果内核文件不存在,我们可以选择自动更新或者手动更新内核。

自动更新:如果我们本身的网络没有代理设置,可能在中国大陆地区无法更新成功,具体可以查看调试日志页面下的日志信息进行检查。我们通常需要通过其它工具(如passwall)设置代理,来进行自动更新。

手动更新:下载内核到指定路径,然后给与可执行权限:

我们以armv8为例子:(实际根据自己的处理器平台选择内核平台)

# 进入内核安装目录

cd /etc/openclash/core/ 

# 下载内核安装包

wget https://github.com/vernesong/OpenClash/releases/download/Clash/clash-linux-armv8.tar.gz

# 解压内核安装包

tar -zxvf clash-linux-armv8.tar.gz

# 给予最高权限

chmod 777 clash

3. 配置订阅

在配置订阅面板点击添加,填写机场给的订阅地址即可完成添加,(如果使用dler cloud,可以直接 插件设置面板的dler cloud子面板登录,登陆后会自动同步订阅),添加好之后选择更新配置

订阅地址机场都会提供,我们导入时候选择机场给的Clash订阅地址

4. 参考设置

插件设置可以快速参照下面这篇博客 https://naiyous.com/2303.html

模式设置:
勾选*使用 Meta 内核(支持的协议比较多,而且还支持一些新的协议)
运行模式选择Fake-IP模式(加快响应速度、缩短网页加载时间)
代理模式选择:Rule(策略代理),这里根据自己的实际需要来选择
其他的默认选择即可
流量控制:
勾选*路由本机代理
勾选*禁用 QUIC
DNS设置:
*本地 DNS 劫持选择:使用 Dnsmasq 转发
启用禁止 Dnsmasq 缓存 DNS
GEO数据库订阅(有助于确定特定IP地址的地理位置信息):
勾选自动更新 GeoIP MMDB 数据库()
勾选自动更新 GeoIP Dat 数据库
勾选自动更新 GeoSite 数据库
版本更新:
点击一键检查更新 (这里不用追新,如果用着没什么问题,不用经常更新它)
2、覆写设置

DNS设置
勾选*自定义上游 DNS 服务器
勾选Fake-IP 持久化
Mate设置
勾选*启用 TCP 并发
勾选*启用流量(域名)探测
设置自定义上游 DNS 服务器(根据实际情况勾选自己想要的DNS服务器)
3、配置订阅

点击添加——文件名可自定义——输入订阅链接——勾选在线订阅转换——订阅转换服务地址默认——订阅转换模板选择自己喜欢的——启用添加Emoji——启用UDP 支持——其他保持默认——点击保存配置——点击更新配置
4、设置完成后——点击运行状态——启用OPENCLASH

5、特殊问题解决方案:

遇到系统变成read-only file system,可用SSH链接工具登录软路由,然后输入以下命令:
如何判断系统是只读模式:修改或删除不了
下载SSH连接工具Fianlshell:【点击进入】
mount -o remount rw /
Copy
网络连接异常时排查原因:【点击进入】
关闭ipv6的DHCP服务器:点击网络——点击接口——选择lan口,点击修改——找到DHCP服务器——点击IPv6设置——禁用路由通告服务——禁用DHCPv6 服务
如果遇到分流异常:
Chrome浏览器——点击设置——点击隐私和安全——点击安全——关掉使用安全DNS
Edge浏览器——点击设置——隐私、搜索和服务——找到安全性——关闭使用安全的 DNS 指定如何查找网站的网络地址
刷新DNS缓存(重启dnsmasq)
service dnsmasq restart

5. DNS设置详细(可选)

OpenClash 默认提供 7874 端口用于 DNS 查询;启动后会劫持 Dnsmasq,只保留自己作为 Dnsmasq 的上游;

但是目前的版本里并没有将已配置的 DNS 转发作为 OpenClash 的上游,这样会导致无法使用 SmartDNS 或其他上游 DNS,因此需要手动修改将 SmartDNS 作为 OpenClash 的上游服务器

在 服务- OpenClash-全局设置-DNS设置中,选择新增,设置自定义上游 DNS服务器为 SmartDNS

然后启用自定义DNS

6. 配置旁路由(如果需要的话)

对路由器来说,旁路由本身接线需要LAN口对LAN口,需要走旁路由的设备网关需要设置成旁路由路由器的IP地址,旁路由路由器本身的网关需要设置成主路由的IP,并且保证网络中只有一个DHCP服务器,这样整个网络拓扑就已经是旁路由模式了。

对OpenClash来说,还需要在插件模式、模式设置中开启旁路由兼容

7. 配置运行模式

我们勾选使用meta内核,这样支持的功能和协议会多一些

我们把运行模式修改成Fake-IP,修改完成后记得点击应用才会生效

8. 配置节点、策略自动更新

Clash这个时候已经可以启动了,不过我们为了优化使用体验,还需要做一些准备工作。把IP地理信息更新打开。

然后在控制面板选择

稍等片刻,配置生效(或者手动清除本地设备网络相关缓存)

9. 启动:欢迎来到因特网

terminal ping 下 google,测试访问

四、规则定义

我们要学习规则定义,首先要了解规则的组成,规则由类型、内容、代理方式 组成一行

  • 类型:域名、域名关键字比较常用
  • 内容:定义具体要处理的域名关键字、IP、匹配字符串等
  • 代理方式:直连、代理、拒绝(这个博客前面哟讲到过)

泪痣的入口在 覆写设置->规则设置->自定义规则

打开自定义规则后,它给了一个模板,我们编写好规则,点击应用即可

五、参考连接

OpenWrt 安装使用 OpenClash (hellowood.dev)

https://naiyous.com/2303.html

https://www.youtube.com/watch?v=-rMG0LlNUzw

https://www.youtube.com/watch?v=RA5n7MiApxw

发表评论