在 CentOS 6/7 上装 cloudflared,官方 RPM 源已经不支持 CentOS 6,CentOS 7 可用二进制或旧版 RPM;最稳的是 直接下独立二进制文件,不依赖新系统库。
下面分 CentOS 7 和 CentOS 6 两种情况,给你可直接复制的命令。
一、CentOS 7(推荐:二进制或旧版 RPM)
方法1:直接用独立二进制(最简单、最稳)
# 1. 下载二进制(amd64) wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 # 2. 加执行权限并移到系统目录 chmod +x cloudflared-linux-amd64 mv cloudflared-linux-amd64 /usr/local/bin/cloudflared # 3. 验证 cloudflared --version
方法2:用旧版 RPM(CentOS 7 可用,官方源已无 el7)
找一个较旧、兼容 CentOS 7 的版本(例如 2023.x):
# 下载旧版 RPM(示例 2023.10.0,可换其他 2023.x) wget https://github.com/cloudflare/cloudflared/releases/download/2023.10.0/cloudflared-linux-x86_64.rpm # 安装 sudo rpm -ivh cloudflared-linux-x86_64.rpm # 验证 cloudflared --version
二、CentOS 6(只能用二进制,且要选老版本)
CentOS 6 内核老、GLibC 版本低(2.12),新版 cloudflared 要求 GLibC ≥ 2.17,会报 not found / GLIBC_2.17 错误。
正确做法:选 2021–2022 年的旧版二进制(支持 GLibC 2.12)
# 1. 下一个 2022 年的版本(实测可用) wget https://github.com/cloudflare/cloudflared/releases/download/2022.11.1/cloudflared-linux-amd64 # 2. 权限 + 移到系统目录 chmod +x cloudflared-linux-amd64 mv cloudflared-linux-amd64 /usr/local/bin/cloudflared # 3. 验证 cloudflared --version
不要下最新版!会报:error while loading shared libraries: libc.so.6: version GLIBC_2.17 not found。
三、设置开机自启(CentOS 7:systemd;CentOS 6:init.d)
CentOS 7(systemd)
cat > /etc/systemd/system/cloudflared.service <<EOF [Unit] Description=Cloudflare Tunnel After=network.target [Service] ExecStart=/usr/local/bin/cloudflared tunnel run YOUR_TUNNEL_NAME Restart=always User=root [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl start cloudflared systemctl enable cloudflared
CentOS 6(init.d)
cat > /etc/init.d/cloudflared <<EOF
#!/bin/bash
# chkconfig: 2345 90 10
# description: Cloudflare Tunnel
start() {
/usr/local/bin/cloudflared tunnel run YOUR_TUNNEL_NAME &
}
stop() {
pkill cloudflared
}
case "\$1" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
esac
EOF
chmod +x /etc/init.d/cloudflared
chkconfig --add cloudflared
service cloudflared start四、常见报错说明
GLIBC_2.17 not found:CentOS 6 用了新版 → 换 2022 年及更早二进制。
command not found:没加执行权限或没放到 PATH → chmod +x + 移到 /usr/local/bin。
官方 yum 源报 404:官方已移除 el6/el7 源 → 别用 yum 装,直接下二进制。
网友回复


