本文详解在CentOS 7系统上通过Clash搭建代理服务器的完整流程,涵盖安装配置、TUN模式与系统代理区别、分流规则编写及常见问题解决方案,帮助用户快速实现网络加速需求。
环境准备与Clash安装
1 系统要求
CentOS 7 minimal安装即可,内存建议512MB以上,需确认系统架构:
uname -m
x86_64选择amd64版本,ARM架构选择arm64,推荐使用Clash.Meta内核,功能更丰富。
2 Clash安装步骤
# 创建目录 mkdir -p /etc/clash && cd /etc/clash # 下载Clash.Meta内核(以1.18.0为例) wget https://github.com/MetaCubeX/Clash.Meta/releases/download/1.18.0/clash.meta-linux-amd64-1.18.0.gz gunzip clash.meta-linux-amd64-1.18.0.gz mv clash.meta-linux-amd64-1.18.0 clash chmod +x clash # 下载Country.mmdb(GeoIP数据库) wget https://github.com/Dreamacro/maxmind-geoip/releases/download/20250101/Country.mmdb
配置文件编写
1 基础配置结构
创建config.yaml,核心配置项如下:
mixed-port: 7890
allow-lan: true
mode: rule
log-level: info
external-controller: 0.0.0.0:9090
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
- 119.29.29.29
proxies:
- name: "节点1"
type: ss
server: example.com
port: 8388
cipher: aes-256-gcm
password: your-password
proxy-groups:
- name: "自动选择"
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点1
- name: "手动选择"
type: select
proxies:
- 节点1
- name: "故障转移"
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点1
rules:
- DOMAIN-SUFFIX,google.com,自动选择
- DOMAIN-KEYWORD,youtube,自动选择
- IP-CIDR,10.0.0.0/8,DIRECT
- GEOIP,CN,DIRECT
- MATCH,手动选择
2 代理组类型详解
| 类型 | 适用场景 | 特点 |
|---|---|---|
| select | 手动指定节点 | 用户自主选择 |
| url-test | 日常上网 | 自动测速选最优 |
| fallback | 关键业务 | 主节点故障自动切换 |
日常访问推荐url-test模式,游戏或重要会议使用fallback模式保障连接稳定性。
TUN模式与系统代理区别
1 工作原理
系统代理:仅接管HTTP/HTTPS/SOCKS5协议流量,配置简单但覆盖不全。
TUN模式:创建虚拟网卡,接管全部TCP/UDP流量,包括游戏、UDP视频等。
2 TUN模式配置
tun:
enable: true
stack: system
dns-hijack:
- 8.8.8.8
- 8.8.4.4
auto-route: true
mtu: 1500
TUN模式适合需要完整流量代理的场景,如游戏加速、P2P下载等。
分流规则写法
1 规则类型
- DOMAIN:精确域名匹配
- DOMAIN-SUFFIX:域名后缀匹配
- DOMAIN-KEYWORD:域名关键词匹配
- IP-CIDR:IP段匹配
- GEOIP:国家/地区匹配
2 优先级原则
规则自上而下匹配,精确规则在前,泛用规则在后,建议顺序:
- 直连规则(国内站点)
- 代理规则(国际站点)
- 最终兜底规则
rules: # 国内直连 - DOMAIN-SUFFIX,baidu.com,DIRECT - DOMAIN-KEYWORD,aliyun,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT - GEOIP,CN,DIRECT # 国际访问 - DOMAIN-SUFFIX,google.com,自动选择 - DOMAIN-KEYWORD,youtube,自动选择 # 兜底 - MATCH,手动选择
启动与验证
1 服务化配置
创建systemd服务/etc/systemd/system/clash.service:
[Unit] Description=Clash Proxy Service After=network.target [Service] Type=simple User=root ExecStart=/etc/clash/clash -d /etc/clash Restart=on-failure [Install] WantedBy=multi-user.target
启动服务:
systemctl daemon-reload systemctl enable clash systemctl start clash
2 验证连接
# 检查进程 ps aux | grep clash # 测试端口 curl --socks5 127.0.0.1:7890 http://www.google.com -I # 查看日志 journalctl -u clash -f
客户端配置
1 Windows/Mac
下载Clash Verge(Windows)或ClashX(Mac),配置订阅链接或手动导入config.yaml。
2 移动端
- iOS:Shadowrocket、Quantumult X
- Android:FlClash、Clash for Android
华为/鸿蒙设备需手动下载APK安装包。
3 路由器
OpenWrt系统可安装OpenClash插件,推荐使用Meta内核。
FAQ
1 节点连接成功但无法访问
现象:代理显示已连接,但浏览器无法打开网页
原因:DNS污染或分流规则配置错误
解决方法:检查fake-ip是否生效,尝试清除DNS缓存或调整分流规则顺序
2 TUN模式启动失败
现象:TUN模式无法启用,提示权限不足
原因:内核模块缺失或TUN设备未加载
解决方法:确认内核支持TUN模块,检查/dev/net/tun是否存在
3 节点速度不稳定
现象:晚间高峰期速度明显下降
原因:节点带宽不足或运营商QoS限速
解决方法:切换至url-test模式自动选优,或更换低负载节点
4 订阅链接无法更新
现象:点击更新订阅无响应
原因:链接格式错误或服务器端问题
解决方法:手动复制链接在浏览器验证,确认格式为Clash YAML
节点选择建议
选择节点时需根据使用场景权衡:
- 4K视频:优先高带宽专线,延迟可适当放宽
- 游戏加速:选择低延迟节点,优选BGP线路
- 日常办公:稳定性优先,url-test自动切换
判断服务商可靠性可观察:是否提供测速节点、客服响应速度、退款政策等。
通过以上步骤,即可在CentOS 7上完成代理服务器搭建,如需进一步优化性能,可调整TUN栈模式或启用TCP快速打开等高级特性。