Cloudflare流量中转、Workers-VLESS、Zero Trust-WARP及Tunnels内网穿透等应用配置部署
Cloudflare应该是业界 最有良心的企业吧,旗下有不少高质量的应用,而且免费。建议应急使用,切勿滥用
首先注册 Cloudflare 账户
一、 使用Cloudflare中转流量并优选IP
对于支持WebSocket、gRPC协议的应用,如V2ray,Xray,Trojan-Go等,使用Cloudflare中转流量的优点是:不会暴露你服务器的真实IP,因此能防止IP被墙;能拯救被墙的IP;域名解析转移到Cloudflare,安全也稳定,但缺点是可能出现降速现象。
1、登录 Cloudflare 账户,在域名提供商网站上将域名解析服务器 Namesever 指向 Cloudflare 所提供的Namesevers地址,等待生效;
2、在Cloudflare 网站DNS板块中将想过CDN的域名的的解析指向VPS的 IP,确保云朵为橙色(Proxied);
3、在 SSL/TLS 版块设置里,将加密模式调整为 Full 或 Full (strict);
4、在 SSL/TLS 版块中的 Edge Certificates 里,将 Minimum TLS Version 调整为 TLS 1.2,并在下方确保开启对 TLS 1.3 的支持;
5、在网络版块中启用WebSockets或gRPC;
6、在此处下载软件解压后运行,程序会自动查找适合你当地网络的IP。在客户端里将主机IP修改为上述优选的IP,其他依据实际填写。
有关 Cloudflare 的 Firewall(防火墙)问题,参考这里。
二、在 Cloudflare Workers 部署 VLESS 节点
1、登录 Cloudflare 账户,转到“Workers & Pages”页面,点击“Create Application”按钮
10、客户端配置
nekoray:
clash.meta:
三、配置Cloudflare Zero Trust账户
WARP 是 Cloudflare 推出的一项虚拟私人网络(VPN)服务,它使用Cloudflare 的全球网络来保护你设备的所有互联网流量。它提供基于 WireGuard 协议的网络流量安全及加速服务,能够让你通过连接到 Cloudflare 的边缘节点实现隐私保护及链路优化
1、登录 Cloudflare 账户,点击左下角的Zero Trust,点击输入组织名称(后面可以随意更改),点击 Next,选择第一个免费计划,下一步直接点击 Proceed to payment提交,有外币信用卡可以绑定支付0元,没有的话可以尝试点击Next,然后下一步点击Purchase支付即可,然后输入前面填写的团队名称点击Finish setup即可,如果页面没有跳转,再次直接点击左下角Zero Trust进去即可
2、点击Settings菜单下的WARP Client
3、点击Manage进入下一步
4、点击Add a rule配置规则
5、按照以下配置,Value处请填写你的邮箱(例:abc@gmail.com,后缀为@gmail.com,多个邮箱可用回车分开),点击Save保存规则!
6、对于图形客户端WARP,到此处下载安装安装后,在设置-账号里面点击登录到Cloudflare Zero Trust。然后点击下一步接受进入登录界面,点击确认会打开浏览器,输入自己的邮箱发送验证码,打开邮箱输入收到的验证码,登录后点击打开客户端连接即可。
7、对于CLI客户端warp,在此处 找到对应版本的安装方法,如我的VPS是ubuntu-22.04,SSH登录,运行以下命令
安装完成后,查看帮助信息
warp-cli registration new 用于免费用户注册, warp-cli registration token 用于Team用户注册
在chrome浏览器里面打开 https://[teamID].cloudflareaccess.com/warp 这个链接,会要求你登陆自己的Team,登陆成功后会打开这样一个页面
快捷键Ctrl+Shift+I打开开发者工具,把 com.cloudflare.warp://两斜杆后面的内容替换下面命令中的https://后面的内容
如果没什么问题,服务器上的 Warp 就部署好了
连接服务器
注意:WARP默认是全局的,会接管VPS所有流量,连接成功后,SSH无法直接使用。
解决办法之一是按照下述第五点的方法,配置cloudflare SSH tunnel,配置成功后,可通过浏览器SSH登录到VPS。
第 二种方法是,执行warp-cli connect命令之前,运行以下命令
此命令排除所有的IPv4地址经warp隧道路由。
还有一种更精细的方法,在cloudflare网站-zero trust-settings-warp client处编辑profile settings
将Service mode默认的Gateway with WARP 修改为Proxy mode,点击save profile。WARP将使用代理模式,默认端口40000。可以配合xray/v2ray进行分流设置,解锁一些应用,参考这里
也可以不修改Service mode,保持默认的Gateway with WARP,而是修改Split Tunnels,将你本地电脑的IP加入Exclude IPs and domains列表,这个列表里的IP或域名的流量就不会经过WARP,这样从这个IP就可正常SSH登录到你的VPS。
加入想要排除的IP或域名,点击Save destination后,列表会立即下发给安装了WARP的客户端。
下面是几个常用命令
四、Tunnels内网穿透配置(以群晖为例)
1、登录 Cloudflare 账户,依次点击左下角的Zero Trust-Access-Tunnels,页面中点击+Create a tunnel,输入tunnels name
点击save tunnel,会弹出各种环境下connector的安装指南
2、这里以docker安装为例。SSH登录到群晖后台(当然也可以网页登录群晖,在container manager里配置),运行以下命令
说明:此命令与官方的主要不同之处在于加入了参数 --net=host,默认情况下docker是以bridge方式连接,但经测试,bridge方式存在问题。另外,将 token后面的一长串字符串换成你自己的。
安装完成后,查看运行情况
3、正常运行的话,回到cloudflare网站,可以看到Connectors的连接状态
再点击next
开始添加子域名,参照前述二.9点。Path 留空, Type 处建议使用 HTTP,因为 Cloudflare 会自动为你提供 HTTPS,URL填写 localhost:5000
点击Save tunnel,Cloudflare会自动下发配置到群辉docker中的tunnel connector里。这点很重要,若想更改服务协议及端口以访问其他的应用,直接在cloudflare网站tunnel里修改即可生效。
群晖的web访问端口在群晖-控制面板-登录门户里查看
注意不要勾选自动重定向http至https。
在cloudfalre网站里Tunnels菜单下看到刚建立的tunnel name,status是否为HEALTHY
可以登录群晖,在container manager 里查看容器cloudflared的日志
在浏览器里输入第3步里设置的子域名,即可访问群晖的登录页面
五、cloudflare不仅可以用来内网穿透web应用,,也可以用来访问SSH,VNC,RDP等(当然这些被访问的机器里要安装相应的服务端程序)。如可以为自己的VPS(当然也可以为群晖)建立一个name为ssh的tunnel,从浏览器通过SSH登录你的VPS。步骤同前一样,只是在第3步设置域名及协议时进行修改
但此时还不能直接从浏览器访问
依次点击左下角的Zero Trust-Access-Applications,点击Add an application,选择Self-hosted,设置name,及subdomain
rules设置参考前述三.5点。点击next
评论
发表评论