本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

cf-ips-to-hcloud-fw是一款帮助保持Hetzner Cloud防火墙规则与当前Cloudflare IP范围同步的工具。它通过获取Cloudflare IP范围,并使用hcloud API更新Hetzner Cloud防火墙规则。该工具专门针对入站防火墙规则,当规则描述中包含__CLOUDFLARE_IPS_V4__、__CLOUDFLARE_IPS_V6__或__CLOUDFLARE_IPS__时,会用Cloudflare网络替换规则中的网络。
适用于使用Hetzner Cloud且通过Cloudflare代理流量的用户,需确保仅Cloudflare来源的流量可访问服务器。通过自动更新防火墙规则,避免手动维护Cloudflare IP范围的繁琐,确保规则始终保持最新,提升服务安全性。
推荐使用pipx(Python应用隔离环境工具)安装,也可使用pip(需手动创建虚拟环境)。
安装工具:
pipx install cf-ips-to-hcloud-fw
验证安装:
cf-ips-to-hcloud-fw -h
成功安装后将显示工具使用帮助信息。
升级工具:
pipx upgrade cf-ips-to-hcloud-fw
创建并激活虚拟环境:
python3 -m venv cf-ips-to-hcloud-fw-venv source cf-ips-to-hcloud-fw-venv/bin/activate # Linux/macOS
安装工具:
pip3 install cf-ips-to-hcloud-fw
验证安装:
cf-ips-to-hcloud-fw -h
通过挂载配置文件运行容器:
docker run --rm \ --mount type=bind,source=$(pwd)/config.yaml,target=/usr/src/app/config.yaml,readonly \ jkreileder/cf-ips-to-hcloud-fw:1.0.11
提示:若使用滚动标签(如
1或1.0),可添加--pull=always确保获取最新镜像。
Docker镜像信息:
linux/amd64、linux/arm641: 最新1.x.x版本1.0: 最新1.0.x版本1.0.11: 特定版本main: 开发版本(可能包含不稳定变更,慎用)创建配置文件Secret:
apiVersion: v1 kind: Secret metadata: name: cf-ips-to-hcloud-fw-config type: Opaque stringData: config.yaml: | - token: API_TOKEN_FOR_PROJECT_1 firewalls: - firewall-1 - firewall-2 - token: API_TOKEN_FOR_PROJECT_2 firewalls: - default
创建定时任务CronJob(每小时运行):
apiVersion: batch/v1 kind: CronJob metadata: name: cf-ips-to-hcloud-fw spec: schedule: "0 * * * *" jobTemplate: spec: template: spec: securityContext: runAsNonRoot: true runAsUser: 65534 containers: - name: cf-ips-to-hcloud-fw image: jkreileder/cf-ips-to-hcloud-fw:1.0.11 securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - ALL volumeMounts: - name: config-volume mountPath: /usr/src/app/config.yaml subPath: config.yaml volumes: - name: config-volume secret: secretName: cf-ips-to-hcloud-fw-config restartPolicy: OnFailure
设置规则描述标记:在需更新的入站规则描述中添加以下标记,工具将根据标记替换网络:
| 规则描述中的文本 | 对应的Cloudflare IP范围 |
|---|---|
__CLOUDFLARE_IPS_V4__ | 仅IPv4 |
__CLOUDFLARE_IPS_V6__ | 仅IPv6 |
__CLOUDFLARE_IPS__ | IPv4 + IPv6 |
注意:规则描述中同时包含
__CLOUDFLARE_IPS_V4__和__CLOUDFLARE_IPS_V6__等效于__CLOUDFLARE_IPS__。
生成API令牌:在Hetzner Cloud控制台中,进入“安全” > “API令牌” > “生成API令牌”,需为每个项目创建具有读写权限的令牌。
创建config.yaml文件,指定各项目的API令牌及需更新的防火墙名称:
- token: API_TOKEN_FOR_PROJECT_1 # 项目1的API令牌(需读写权限) firewalls: - firewall-1 # 需更新的防火墙名称1 - firewall-2 # 需更新的防火墙名称2 - token: API_TOKEN_FOR_PROJECT_2 # 项目2的API令牌(需读写权限) firewalls: - default # 需更新的防火墙名称(默认防火墙)
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429