Clash是一款强大的本地HTTP/HTTPS/SOCKS代理软件,内置DNS服务器,可以最大限度减少DNS污染,支持DoH/DoT上游DNS。可以基于域、GEOIP、IP-CIDR或进程名称规则将数据包路由到不同目的地。代理组允许用户制定灵活的规则,支持自动回退、负载均衡或基于延迟自动选择远程代理节点。Clash也提供了基于FreeBSD平台的版本,可以在pfSense和OPNsense上正常运行。本教程介绍在pfSense plus上的安配置方法。
使用的软件为pfSense plus 23.01中文定制版,Clash使用Clash.Meta内核程序,支持hysteria。
一、前期准备
按常规步骤配置好防火墙,包括DNS、DHCP等,保证防火墙后面的客户端可以正访问网络。
二、上传文件
从Clash for Windows中导出所使用机场的配置文件,将socks-port: 7891、redir-port: 7892、mixed-port: 7893等删除,如下图所示:
如果使用hysteria节点,可以下载文末附件并解压缩,根据自己的节点信息修改config.yaml配置文件。由于是在防火墙上运行Clash,需要将allow-lan参数设置为true。使用FinalShell登录防火墙后台,将下载的Clash程序改名为clash,与附件中的两个文件一起上传到/root/clash目录下。
赋予clash程序执行权限:
chmod +x /root/clash/clash
三、启动程序
运行以下命令启动Clash,并根据显示的信息确认配置文件是否正确。
/root/clash/clash -d /root/clash
四、开机启动
在/usr/local/etc/rc.d目录新建一个clahs.sh文件,将下面的内容复制到该文件,并赋予该文件执行权限。
nohup /root/clash/clash -d /root/clash
五、测试代理
客户端开启代理服务器,代理地址为防火墙的LAN IP地址,端口为7890。
检查是否能正常访问google或youtube,访问ipaddress.my查看地址是否为代理地址。
六、透明代理
通过安装squid来实现透明代理。
安装插件
导航到系统>插件管理 ,找到squid软件包并点击右侧的按钮进行安装。
添加证书
导航到系统>证书管理,添加http和https透明代理需要的两个内部CAs,如下图所示。
配置squid
导航到服务>Proxy Seriver,Local Cache选项卡,根据防火墙硬件配置设置好代理所需的本地缓存,如果没有缓存内容的需求,也可以直接禁用缓存。
1、常规设置
转到General选项卡,按照下图配置常规选项。
2、透明代理设置
选中透明HTTPS代理选项,接口选LAN。
3、SSL过滤设置
选中SSL过滤选项,其他选项参照下图进行设置。
4、高级功能
打开显示高级功能,在自定义选项(认证前)栏里,输入以下内容:
never_direct allow all
5、上游代理设置
转到Remote Cache选项卡,添加Clash代理信息。
6、添加允许子网
转到ACLs选项卡,添加允许访问的接口子网。
7、测试
点击右上角的重启服务图标,重新启动squid服务。客户端取消代理服务器设置,打开浏览器访问google、youtube等网站,检查透明代理是否设置成功。
七、Clash命令参数
-d string 设置配置文件目录 -ext-ctl string 覆盖外部控制器地址 -ext-ui string 覆盖外部ui目录 -f string 指定配置文件 -m 设置geodata模式 -secret string 覆盖RESTful API安全设置 -t 测试配置文件并退出 -v 显示当前clash版本
相关文章: