Cloudflare Argo Tunnel(cloudflared) 转发私网端口到公网(不限速)
Cloudflare Argo Tunnel(cloudflared) 转发私网端口到公网(不限速)
Cloudflare真是私人网站管理员的一大利器, 它最为人熟知的功能是CDN和域名托管服务, 但由于Cloudflare是国外的, 如果在国内使用了它的CDN, 可能非但不能达到加速的效果, 反而会减速, 我的博客套上它的CDN之后就慢了很多.
但作为财大气粗的公司(1.1.1.1 这么nb的IP都拿到了), 它的其他功能也都很强大, 重要的是免费的计划对于大部分私人网站都够用了. 像workers, 可以提供类似云函数的功能, 即访问特定网址, 会执行你编写的js代码, 从而实现网站反向代理, 配合它的KV存储, 也可以实现短网址和文本分享的功能.
今天要为大家介绍的是它的隧道功能, 相对于内网穿透, 它的优点是不用公网服务器, 而且速度还相当可观.
准备
一个被Cloudflare托管的域名(如果不知道怎么配置, 自行去百度)
cloudflared软件包: Releases · cloudflare/cloudflared (github.com)
各种平台, 包括arm(像什么树莓派, 斐讯n1都可以用)
创建隧道
1 | chmod +x ./cloudflared-linux-arm64 |
编写配置文件
1 | tunnel: [隧道id] |
启动隧道
1 | cloudflared tunnel --config ~/.cloudflared/config.yml run |
此时访问https://tunnel.zaqai.com, 即可访问到你私网服务器的8080端口
通过以下命令启动可保持后台运行:
1 | nohup cloudflared tunnel --config ~/.cloudflared/config.yml run > ~/.cloudflared/tunnel.log 2>&1 & |
也可以通过cloudflared service install
将cloudflared变为systemctl管理的服务(centos)
速度
当然不是, 因为校园网限速大概在2MB/s
没错啦, 我用我的千兆vps测的下载速度, 是我家的宽带上传速度上限了.
多个端口
如果想要转发多个端口, 可以这样修改配置文件:
1 | tunnel: [隧道id] |
要注意tunnel1
也必须cname的值和tunnel
相同
其他
也许有人会说, ipv6不香吗? 确实香, 我在家里的时候配好的ipv6服务器, 到学校没几天ipv6就失联了, (还好留了一手, 弄了个zerotier), 现在就靠隧道来用服务器了
也可以转发ssh的22端口, 但我还没有成功