前言
基于个人科研需求,需要在Linux服务器上安装代理软件,选择了Clash作为客户端。
准备工作
下载Clash
在 Clash官方页面 下载与个人服务器架构相同的安装包。 我的服务器是用的CentsOS,下载的安装包名为clash-linux-amd64-v1.17.0.gz
。
安装Clash
参考安装代码如下:
bash
# 将安装包上传至服务器文件夹
# 解压
gunzip clash-linux-amd64-v0.18.0.gz
# 移动命令至用户bin目录下,方便调用
sudo mv clash-linux-amd64-v1.4.2 /usr/local/bin/clash
# 对命令赋权,使得可以访问
sudo chmod +x /usr/local/bin/clash
完成这一系列操作后,我们就可以在任何目录下直接使用clash
关键字启动Clash软件了。
配置Clash
生成初始配置
首先,我们需要启动一次Clash,生成Clash的默认配置文件。 在控制台输入clash
进行启动。 clash 启动后会在 ~/.config/clash
目录生成配置文件。 切换到上述目录后,应该能看到三个文件: cache.db config.yaml Country.mmdb
其中的config.yaml
就是Clash在运行时读取的配置文件,下边我们需要对其修改,填入可用的节点信息。
替换自定义配置
配置文件理论上你可以手搓,一个参数一个参数的填进去,但是这里我建议直接使用其他客户端生成的yaml文件替换掉它。
仅供参考的个人配置过程: 因为我个人电脑上安装了Clash For Windows,也一直在正常使用相关功能,所以我就想直接复制电脑上的配置文件到Linux中。
将弹出框中的配置信息全部复制,替换到上文中的config.yaml
文件中。
有几个参数需要特别说明一下:
- port : 全局代理端口(默认端口)
- socks-port : socks协议流量会走的端口
- redir-port : 直连流量会走的端口
- mixed-port : 混合端口(具体干啥的我不知道=.=)
- allow-lan : 是否允许局域网连接(开启后这台机器可以转发其他主机的代理流量)
- mode : 选择Clash的代理模式,直连/全局/规则(注意应该是全小写的rule)。
- external-controller : 外部控制器地址,用于使用图形化页面管理Clash
- secret : 外部控制器所需的密钥
如无必要,上述端口可以不修改。
系统代理端口映射的开启和关闭
下面要向Linux系统中添加代理语句,用于开启代理。
bash
# 未修改配置文件中的端口的话,这段代码可以直接使用
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891
关闭代理则使用:
bash
unset http_proxy https_proxy all_proxy
配置自启动(可选)
如果你想Clash随主机自启动的话,则需要将Clash增加为systemd服务。 本文不展开讨论这一步,你可以在文末的参考文章中找到相关教程。
开启Clash
其实使用上文的clash
就可以开启Clash了,但是这里我们要测试一下开启前后的效果。 使用一个Linux远程连接开启Clash,然后再打开一个远程连接, 输入下面的命令进行测试。
- 在开启前使用命令测试
bash
# 方法一:获取主机公网ip
curl ip.gs
# 方法二:获取谷歌主页
curl www.google.com -L
- 开启Clash
bash
clash
- 在开启后使用步骤1中的相同命令进行测试,查看开启Clash前后的内容差异。 如果有公网ip有差异或获取到谷歌内容那就说明代理配置成功了,如果没有成功的话可以查看Clash软件所在的远程连接控制台,应该能看到请求记录。
管理Clash
https://clash.razord.top/#
是一个在线的管理Clash网站,通过输入自己的Clash软件相关信息,可以进行图形化管理。
其中,Host指主机公网ip,端口指上面配置文件中的external-controller
中的端口,密钥是上面配置文件中的secret
属性的内容。
结束语
到此,你已经学会了如何在Linux使用Clash进行流量代理~
参考
Clash For Linux 官方手册 在 Linux 上使用 Clash 作代理 记在linux上配置clash: 解决科研中的网络访问问题 Linux中安装配置Clash