+
15
-

回答

在 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 装,直接下二进制。

网友回复

我知道答案,我要回答