安装Clash
1 下载Clash
访问Clash的官方网站 https://github.com/clash-proxy,选择适合你操作系统的版本,这里以Ubuntu为例:
- 二进制包:直接下载并安装。
- 源码包:如果需要自定义配置,选择源码包。
2 安装Clash
假设你选择二进制包:
# 解压并安装 gunzip clash-AMD64.gz chmod +r -R clash sudo dpkg -i clash/clash_*.deb
完成后,Clash会被安装在你的系统中。
3 启动Clash
启动Clash服务:
clash serve
这会启动一个代理服务器,默认监听地址是..1:789。
配置Clash
Clash的配置文件位于~/.clash/config.json,默认情况下,这个文件会在第一次运行时自动生成。
1 新增配置文件
touch ~/.clash/config.json
打开编辑器(如nano或vim),添加以下内容:
{
"listen": "127...1:789",
"max-connections": 100,
"log": {
"level": "debug"
},
"route": [
{
"DNS": "127...1:53",
"HTTP": "127...1:7891"
}
],
"certificate": {
"ca": "ca.pem",
"cert": "cert.pem",
"key": "key.pem"
},
"filter": [
{
"rule": "http://127...1:7891/*",
"action": "redirect",
"target": "127...1:789"
}
]
}
根据需求调整配置:
listen:指定代理服务器监听地址和端口,默认是..1:789。max-connections:设置代理的最大连接数,防止过载。log:设置日志级别,debug为详细日志。route:配置DNS和HTTP代理规则。certificate:设置自签名证书路径,用于HTTPS代理。filter:定义过滤规则,重定向请求到代理服务器。
2 生成自签名证书
Clash支持自签名证书,用于HTTPS代理,运行以下命令生成证书:
# 生成CA证书 clash certificate create --common-name localhost # 生成私钥和证书 clash certificate create --common-name localhost --private
这些文件会被生成到clash/目录下。
3 配置Clash使用证书
在config.json中修改certificate部分:
"certificate": {
"ca": "clash/ca.pem",
"cert": "clash/cert.pem",
"key": "clash/key.pem"
}
确保文件路径正确。
4 配置iptables
Clash可以通过iptables防火墙来限制外部访问代理服务器,执行以下命令:
sudo nano /etc/iptables.conf
添加以下规则:
# 允许Clash监听地址的所有端口 -A INPUT -p tcp --dport 789 -j ACCEPT
保存并应用iptables规则:
sudo iptables-restore < /etc/iptables.conf
5 设置后台管理密码
如果你需要管理Clash的后台界面,设置密码:
clash password set
登录后台:
clash admin
高级配置
1 修改默认设置
在config.json中调整其他参数:
cache:设置最大缓存大小。timeout:设置请求超时时间。max-concurrent-connections:设置每个端口的最大连接数。SSL:设置SSL版本和互联方式。
2 启用Brotli压缩
安装zlib和brotli库,然后在Clash配置中启用:
"compression": {
"enabled": true,
"algorithm": "br"
}
测试Clash
1 测试本地访问
访问本地服务器内部资源:
curl -I http://127...1:789
2 测试外部访问
访问外部网站:
curl -I https://example.com
通过代理访问:
curl -I http://127...1:789/https://example.com
3 测试HTTPS
确保Clash处理HTTPS请求:
curl -I https://127...1:789
优化和监控
1 优化性能
调整线程池和连接池参数:
"concurrency": 4, "connection-pool": 32, "read-buffer-size": 16, "write-buffer-size": 16
2 监控日志
查看实时日志:
tail -f ~/.clash/clash.log
3 收集指标
使用Prometheus收集Clash指标:
# 安装Prometheus和Grafana(可选)
安全配置
1 限制访问
只允许特定IP访问Clash:
"listen": "192.168.1.1:789"
2 更新证书
定期更新自签名证书:
clash certificate rotate --common-name localhost
常见问题
- 权限问题:确保Clash运行用户有足够权限。
- 防火墙问题:检查iptables规则是否正确。
- 证书错误:确保证书路径正确,且CA证书信任。
使用场景
- 开发环境:本地代理服务器。
- 内测环境:限制访问,控制流量。
- 负载均衡:分发请求到多个后端服务器。
- 安全:过滤恶意流量。
- 监控:收集和分析网络流量。




