Clash一款强大的本地HTTP/HTTPS/SOCKS代理软件,内置DNS服务器,可以最大限度减少DNS污染,支持DoH/DoT上游DNS。可以基于域、GEOIP、IP-CIDR或进程名称规则将数据包路由到不同目的地。代理组允许用户制定灵活的规则,支持自动回退、负载均衡或基于延迟自动选择远程代理节点。近期,有网友开发了在OPNsense上使用的Clash插件,下面介绍安配置方法。
使用的软件版本:OPNsense 23.7.5中文定制版。
文章目录
一、前期准备
按一般步骤配置好防火墙,包括DNS、DHCP等,保证防火墙后面的客户端可以正访问网络。
二、 添加源
添加Clash安装源,进入shell环境,运行以下命令添加安装源:
fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf
更新存储库:
pkg update
安装clash本地客户端:
pkg install net/clash
三、 安装Clash UI插件
进入OPNsense的Web界面,转到系统-固件-插件菜单,找到os-clash-maxit插件,点击右侧的安装按钮进行安装(示例已安装完成)。
四、导出clash配置文件
从正常使用的Clash for Windows中导出所使用机场的配置文件,将socks-port: 7891、redir-port: 7892、mixed-port: 7893等删除,由于是在防火墙上运行clash,为了让客户端使用代理,allow-lan参数需设置为true;DNS监听端口不要使用53端口,避免与防火墙unbound dns使用的端口冲突。将导出的文件改名为clash.conf,上传到/usr/local/etc/目录。
五、 配置Clash
在OPNsense的Web界面,转到服务-Clash-常规,将修改好的配置文件复制到配置选框中,选中启用,然后点击保存。
配置文件保存在/usr/local/etc/clash.conf,可以直接修改。
六、检查Clash服务是否启动
转到仪表大厅,检查Clash服务是否正常启动。
在浏览器输入LAN地址:9090,回车后如果显示以下内容,表示clash服务已正常启动。
{"hello":"clash"}
七、设置系统代理
在客户端系统上,打开代理服务器选项,代理地址输入OPNsense的LAN地址,端口7890。
八、测试代理
访问google或youtube,测试代理是否正常。可以打开ipaddress.my网站查看代理地址。
九、 透明代理设置
通过设置Web代理来实现透明代理,让客户端无需任何设置即可访问特定网站。
1、添加内部CA
https透明代理需要CA,导航到系统> 证书>发行菜单,单击添加一个内部CA,输入各项信息,如下图所示:
2、启用Web代理
转到服务>Web代理>管理,选中启用代理选项。其他选项根据需要设置,尽量使用默认选项。
3、设置父代理
转到服务>Web代理>管理,单击代理常规设置下拉菜单,找到父代理设置,输入Clash代理信息,主机127.0.0.1,端口7890,其他选项留空。
如果启用了zerotier服务,或者需要访问本地服务器,不需要通过代理访问,可以在本地IP域或本地IP中输入需要排除的项,如下图所示:
4、设置代理缓存
转到服务>Web代理>管理,单击代理常规设置下拉菜单,找到代理缓存设置。为了减少不可预知因素导致代理失效,建议禁用本地缓存。如下图所示,将缓存大小设置为0即可。
5、设置正向代理
转到服务>Web代理>管理,单击正向代理下拉菜单,设置正向代理选项,代理接口选LAN,选中启用透明HTTP代理和启用SSL检查,选中仅记录SNI信息,CA选中前面新建的SSL,选中允许接口子网选项,其他选项默认即可。
根据上图中箭头所指位置,添加http和https代理的防火墙规则。添加完成以后如下图所示:
6、检查测试
客户端取消代理服务器设置,访问google、youtube等网站,检查透明代理设置是否正确。
十、使用hysteria节点
如果VPS配置了Hysteria或Hysteria2节点,那么可以替换Clash Meta内核来配置hysteria节点。
1、替换Clash内核程序
下载freebsd平台最新版Clash.Meta内核程序,该内核已支持hysteria2。解压缩后改名为clash,上传替换掉OPNsense防火墙/usr/local/bin/目录下的clash程序,并使用chmod +x clash命令赋予该程序执行权限。
2、修改Clash配置文件
下载hysteria/hysteria2的clash配置模板文件hysteria/hysteria2.0,根据VPS服务器hysteria/hysteria2配置信息,修改节点和代理组信息,端口必须与Web代理-父代理使用的端口一致。
修改完成后,使用基于Meta内核的代理程序进行测试,确保配置文件正确。
3、替换配置文件
将Clash配置文件的文本内容复制到OPNsense的服务-Clash-常规处的配置文件框中,点击保存,然后点击右上方按钮重启Clash。
经过以上设置,现在防火墙下面的客户端就可以使用远程hysteria节点进行代理访问了。
经实际测试,与直接代理相比,速度影响基本可以忽略。根据硬件配置的不同,会稍微增加CPU 5%-15%的使用率。
相关文章:
我的clash for windows配置文件中有一句 listen: ‘127.0.0.1:35353’。请问这个应该怎么改?
—————–
dns:
enable: true
listen: ‘127.0.0.1:35353’
default-nameserver: [223.5.5.5, 114.114.114.114]
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
…
——————–
解决了,这里不用改。
注意上边allow-lan: false 改成allow-lan:true
OK
外网访问clash的socks代理怎么访问,能出一期教程吗?
设置透明代理后,无线ap无法访问网络
有线能访问,无线不能访问,找找无线配置的问题。
配置了透明代理之后内网的设备可以正常透明代理上网,但是防火墙本身不走代理访问网站,博主知道该咋设置吗?
目前还没找到办法,也没有这种需求。
如果从clash复制出来config后又自己修改过的话,一定要记得不能有空行!!!!这个插件估计文件检查比较严格,clash客户端或者直接运行clash core的话,config带有空行不影响运行,但是这个插件不行。今天换成clash premium core,一度以为是不支持,结果就是单纯我的config有空行。。。。
clash.meta内核没这么讲究。