Cloudflare配置tunnel实现内网穿透
本文最后更新于:2024年8月14日 中午
Cloudflare配置tunnel实现内网穿透
Cloudflare Tunnel内网穿透SSH
Cloudflare Tunnel既可以使用网页浏览器访问,也可以使用客户端直接发起访问,这里使用网页浏览器访问作为示例,下面教程开始。
创建Tunnel
从Cloudflare首页中,进入Zero Trust。
进入
Networks
->Tunnels
,创建一个tunneltunnel类型选择
cloudflared
即可。tunnel名字随便起一个即可。
保存tunnel。
创建完成后,在需要穿透的机器上安装cloudflared,根据下面的操作一步步完成即可,这里不再赘述。
成功后会在
Connectors
内部显示上线设备。下一步后,在
Public hostnames
添加新的Public hostnames
域名和路由按需填写,我直接使用
terminal
子域名;类型选择ssh
,后面url
填ssh链接及端口即可,一般为127.0.0.1:22
,这里填10.0.0.5:22
单纯是局域网地址为10.0.0.5
。保存即可,此时状态应该为绿色的健康。
实际上,除了ssh其他类型的内网服务也可以用过此种方式搭建ttunnel。
如果是针对http服务,到此时已经可以使用上面配置的域名和路由访问了,但是为了安全考虑,还需要设置Application认证。
创建Application
- 在
Access
->Applications
创建一个新的应用
选择
Self-hosted
,名字随便起,Session Duration是会话超时时间,也可以随意设置,下面的域名要与刚才Tunnel Public Hostname一致,下面配置均默认直接NEXT。添加策略,添加访问控制策略Policy name任意,Action选择Allow,Configure rules选择Emails填入自己账号的邮箱,只有允许自己的邮箱登录,如果需要使用其他的认证方式,如
GitHub/Google SSO
等,可以在 Cloudflare 控制台 ->Zero Trust
->Settings
->Authentication
->Login Methods
中添加。拉到最下面
Additional settings
,Browser rendering
选择SSH,剩下的一律默认即可。
完成后打开之前配置的域名就跳转到cloudflare zerotrust的登录界面了,输入邮箱接验证码登录,然后就可以使用密码或者证书登录到ssh了。