使用cloudflare+域名 内网穿透

使用cloudflare+域名 内网穿透
Bin LianRefer to
没有公网IP? 免费域名搭建cloudflare内网穿透,不限流量,不用绑卡支付 - YouTube
https://dongchenxie.com/2024/02/25/running-cloudflare-tunnel-with-docker-compose/
1 | docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <token> |
这个命令来自于cloudflare,使用docker compose 运行只要配置相应的 docker-compose.yml 文件就可以。
以上的docker命令写作 yaml的话
1 | version: '3' |
这里的 volumes表示映射从当前目录映射到docker容器中的==/etc/cloudflared==
Cloudflare的配置,其实就很简单
原理
内网穿透其实上是需要一个公网ip,和自己的内网ip地址,英文名NAT (Network Address Translation (NAT)),这个协议刚开始是因为ipv4地址不够用了,控制公网ip地址的方法,使得内网ip地址可以复用,从而解决ip地址不够的问题
简单的介绍 cloudflare
Cloudflare是一家成立于2009年的美国科技公司,主要提供CDN(内容分发网络)、DDoS防护、DNS服务等网络安全和性能优化服务。它就像网站的保安和快递员,通过全球数据中心网络帮助网站更快、更安全地传递内容给用户,同时保护网站免受黑客攻击。目前已成为全球最大的网络服务提供商之一,服务着数百万网站。
使用docker 运行 cloud connect, 并使用tunnel进行内网穿透
托管域名
先明确:
- 内网ip, 我本地服务器的ip地址
- 公网ip,我购买的域名的ip地址
我要做的事就是使用 cloudflare的tunnel 把它们连起来
打开cloudflare后, 进入dashboard,点击右上角的add,增加对于域名的管理:如下
接下来按照步骤将cloudflare的命令复制到公网ip域名的nameserver处
之后就只需要等待其准备完毕
创建tunnel 和服务
这里包含两个核心步骤,
- 在本地服务器上启动好cloudflare connector
- 在cloudflare上设置好相应域名
回到 cloudflare 找到 zero trust, 然后需要创建一个自己的项目
这里创建之后最重要的就是这个token.
有了token后在本地服务器docker上运行cloudflared即可
1 | docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <token> |
这个命令来自于cloudflare,使用docker compose 运行只要配置相应的 docker-compose.yml 文件就可以。
以上的docker命令写作 yaml的话
1 | version: '3' |
这里的 volumes表示映射从当前目录映射到docker容器中的==/etc/cloudflared==
这个时候可以在cloudflare zero trust 的项目处看到状态,显示为health说明tunnel建立成功可以进行本地服务挂载了,我这里挂载了一个自建的图床详见[[图床搭建]]