cloudflared 非常轻量,足以在 Raspberry Pi 或数据中心服务器上运行。隧道吞吐量主要受限于系统软件中配置的端口数量,而不是硬件。
在每个位置的两个专用主机上运行 cloudflared 副本,至少配备 4 GB RAM 和 4 个 CPU 核心。为每台主机分配 50,000 个端口。
要在 Linux 上增加 cloudflared 的可用端口数:
如果您的机器有 /etc/sysctl.d/ 目录:
echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.d/99-cloudflared.conf
sudo sysctl -p /etc/sysctl.d/99-cloudflared.conf否则:
echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf要在 Windows 上增加 cloudflared 的可用端口数,请设置 TCP 和 UDP 的动态端口范围 ↗:
netsh int ipv4 set dynamicport tcp start=11000 num=50000
netsh int ipv4 set dynamicport udp start=11000 num=50000
netsh int ipv6 set dynamicport tcp start=11000 num=50000
netsh int ipv6 set dynamicport udp start=11000 num=50000在 Linux 和 macOS 上,ulimit 设置决定了已登录用户可用的系统资源。我们建议在 cloudflared 服务器上配置以下 ulimit:
| ulimit | 描述 | 值 |
|---|---|---|
-n |
打开的文件或文件描述符的最大数量 | ≥ 70,000 |
要查看您当前的 ulimits,请打开终端并运行:
ulimit -a要设置打开文件的 ulimit:
ulimit -n 70000上述命令仅为当前终端会话设置打开文件限制,在重启或重新登录后不会保留。要永久应用此限制,请使用适用于您操作系统的持久化方法进行配置。
要估算您部署的隧道容量要求:
- 使用指标端点来测量
cloudflared_tcp_total_sessions和cloudflared_udp_total_sessions。 - 将
cloudflared_tcp_total_sessions除以总时间,计算出平均 TCP requests per second。 - 将
cloudflared_udp_total_sessions除以总时间,计算出平均 Non-DNS UDP requests per second。 - 在下方计算器中输入 TCP requests per second(每秒 TCP 请求数) 和 Non-DNS UDP requests per second(每秒非 DNS UDP 请求数)。(除非您使用隧道进行私有网络访问,否则可以将 Private DNS requests per second(每秒私有 DNS 请求数) 保留为
0。)
System configuration
Metrics
Result
要增加隧道容量,请添加运行 cloudflared 副本的相同主机。