OpenWrt + Docker 完整部署方案:CFnat + Cloudflared 一体化集成

发布于:2025-09-11 ⋅ 阅读:(18) ⋅ 点赞:(0)

AI生成(可能是AI幻觉)

项目架构概述

基于您现有的网络配置(IP: 192.168.1.1),本方案将CFnat服务作为网络优化层整合到现有的Cloudflare隧道架构中,实现完整的网络加速解决方案。

优化后的流量路径

用户访问 blinko.xing.xyz
    ↓
DNS解析到 youxuan.1661.xyz  
    ↓
SaaS回源到 ip.1661.xyz
    ↓
Cloudflare隧道连接 192.168.1.1:8080 (CFnat代理)
    ↓
CFnat优选最佳Cloudflare IP进行加速
    ↓
代理转发到原始Blinko服务 192.168.1.1:1111

环境准备阶段

系统环境检查

首先通过SSH连接到您的OpenWrt设备,执行系统环境检查:

# 检查当前IP配置
ip addr show | grep 192.168.1.1

# 验证Docker服务状态
service docker status

# 查看现有容器运行状态
docker ps

# 检查端口占用情况
netstat -tlnp | grep -E "(1111|8080)"

端口规划确认

由于您的Blinko服务已占用1111端口,CFnat服务将部署在8080端口,避免端口冲突同时保持服务独立性。

CFnat服务部署

容器镜像准备

# 拉取最新的CFnat Docker镜像
docker pull cmliu/cfnat:latest

# 验证镜像下载完成
docker images | grep cfnat

CFnat容器部署

针对移动宽带网络环境,部署优化配置的CFnat服务:

docker run -d \
  --name cfnat-proxy \
  --restart unless-stopped \
  -p 8080:1234 \
  -e colo="HKG" \
  -e delay=200 \
  -e ips=4 \
  -e port=443 \
  -e tls=true \
  -e ipnum=15 \
  -e num=10 \
  -e task=64 \
  -e random=true \
  -e code=200 \
  -e domain="cloudflaremirrors.com/debian" \
  cmliu/cfnat:latest

防火墙规则配置

为CFnat服务配置适当的防火墙规则:

# 添加8080端口访问规则
uci add firewall rule
uci set firewall.@rule[-1].name='CFnat_Proxy'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest_port='8080'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].target='ACCEPT'

# 提交配置变更
uci commit firewall
/etc/init.d/firewall restart

Cloudflare配置调整

隧道目标地址修改

在Cloudflare Zero Trust控制台中,需要调整现有隧道配置:

原始配置:

  • ip.1661.xyz192.168.1.1

修改为:

  • ip.1661.xyz192.168.1.1:8080

这样流量将首先通过CFnat代理进行优化处理。

DNS记录保持现状

您现有的DNS配置结构保持不变:

  • blinko.xing.xyz 指向 youxuan.1661.xyz
  • SaaS回源配置 ip.1661.xyz
  • CNAME记录 youxuan 指向 visa.cn

服务集成验证

容器运行状态检查

# 检查CFnat容器运行状态
docker ps | grep cfnat-proxy

# 查看CFnat服务日志
docker logs cfnat-proxy

# 检查端口监听状态
netstat -tlnp | grep 8080

网络连通性测试

# 测试CFnat代理响应
curl -I http://192.168.1.1:8080

# 检查CFnat内部日志
docker exec cfnat-proxy cat cfnat.log

# 监控实时日志输出
docker logs -f cfnat-proxy

服务性能监控

日常监控命令

建立定期监控机制确保服务稳定运行:

# 查看容器资源使用情况
docker stats cfnat-proxy

# 检查系统资源状态
free -h && df -h

# 监控网络连接状态
ss -tuln | grep 8080

性能优化调整

根据实际网络表现,可通过以下命令调整CFnat参数:

# 停止现有容器
docker stop cfnat-proxy

# 删除现有配置
docker rm cfnat-proxy

# 重新部署优化配置(如需调整delay参数)
docker run -d \
  --name cfnat-proxy \
  --restart unless-stopped \
  -p 8080:1234 \
  -e colo="HKG" \
  -e delay=150 \
  -e ips=4 \
  -e port=443 \
  -e tls=true \
  -e ipnum=20 \
  -e num=15 \
  -e task=64 \
  -e random=true \
  cmliu/cfnat:latest

故障排除和维护

服务管理命令

# 重启CFnat服务
docker restart cfnat-proxy

# 查看详细容器信息
docker inspect cfnat-proxy

# 进入容器内部检查
docker exec -it cfnat-proxy sh

# 更新CFnat镜像版本
docker pull cmliu/cfnat:latest && docker restart cfnat-proxy

日志分析和问题诊断

# 查看系统级错误日志
dmesg | grep -i error

# 检查Docker守护进程状态
systemctl status docker

# 分析CFnat连接质量
docker logs cfnat-proxy | grep -E "(delay|ms|error)"

部署验证流程

完成部署后,通过浏览器访问 https://blinko.xing.xyz 验证整个服务链路的正常运行。CFnat服务将作为网络加速层,在保持现有架构稳定的基础上显著提升访问性能。

整个方案通过将CFnat集成到现有的Cloudflare隧道和SaaS回源架构中,实现了网络连接质量的全面优化,特别适合移动宽带网络环境下的应用场景。


网站公告

今日签到

点亮在社区的每一天
去签到