PVE 宿主机安装代理
本文最后更新于 2025年8月31日 晚上
本文只是一个记录,基本全程参考文章[1]
背景
因为某些原因,Linux 上下载一些库非常缓慢,而 PVE 没有图形界面,使用代理不是非常方便
环境
PVE 9.0
内核版本 6.14.8-2-pve
CPU: AMD R9
过程
1. 下载 Clash 内核
Mihomo
我安装的是 mihomo-linux-amd64-compatible-v1.19.11
但由于包在 Github 上,基本无法在 PVE
上直接下载,可以先在本地下载,然后通过 scp
上传到 PVE
上;或者在另一台有代理的电脑上开启 Allow LAN,然后在 PVE
上通过代理下载。
解压到 /opt/clash 并赋予可执行权限
1 |
|
2. 下载 IP 地理位置数据库
在 maxmind-geoip 中下载全球 IP 库 Country.mmdb 文件上传至 /opt/clash
1 |
|
3. 配置 Clash
把下载的代理配置文件 config.yaml 上传至 /opt/clash
4. 创建 systemd 服务
创建服务文件
/etc/systemd/system/clash.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17[Unit]
Description=Clash 守护进程, Go 语言实现的基于规则的代理.
After=network.target NetworkManager.service systemd-networkd.service iwd.service
[Service]
Type=simple
LimitNPROC=500
LimitNOFILE=1000000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SYS_TIME
Restart=always
ExecStartPre=/usr/bin/sleep 1s
ExecStart=/opt/clash/mihomo -d /opt/mihomo-linux-amd64-compatible-v1.19.11
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target重新加载 systemd 并启动服务
1
systemctl daemon-reload
启动并设置开机自启
1
2systemctl start clash
systemctl enable clash其他命令
1
2
3
4
5
6systemctl status clash # 查看状态
systemctl restart clash # 重启
systemctl stop clash # 停止
journalctl -u clash -f # 查看日志
journalctl -u clash -r # 反向查看日志
journalctl --vacuum-size=50M # 日志清理,保留最近50M
5. 系统代理
可以参考 Linux 虚拟机使用主机代理
6. TUN 模式
由于 KVM 要使用主机 TUN 似乎要通过网桥,而 PVE
的代理感觉不好控制,至今不确定是否配置成功,只能确定 curl google.com
有反应。
所以虚拟机代理打算另寻他法,目前是通过 Allow LAN