一、准备工作
(一)注册Cloudflare账号
1. 打开浏览器,访问Cloudflare官网 。
2. 在官网首页,点击“Sign Up”按钮。
3. 按照页面提示,输入有效的电子邮件地址,设置密码。
4. 选择合适的套餐,对于个人用户和小型团队,免费套餐通常可以满足基本需求。完成选择后,点击“Create Account”完成注册。
(二)准备域名
1. 确保你拥有一个可以正常使用的域名。如果没有,可以通过域名注册商(如阿里云、腾讯云、Namecheap等)注册一个新的域名。
2. 注册完成后,需要将域名的DNS解析设置为Cloudflare的DNS服务器。在Cloudflare控制台的“DNS”选项卡中,找到并记录下Cloudflare提供的两个DNS服务器地址。
3. 登录你的域名注册商网站,找到域名解析设置的相关部分,将原来的DNS服务器地址替换为Cloudflare提供的DNS服务器地址。这个过程可能需要一些时间(通常在几分钟到几小时不等)才能生效,可以通过在线DNS查询工具(如DNS Checker)来检查DNS是否已成功切换到Cloudflare。
(三)准备设备
1. 确保参与异地组网的所有设备都能够正常连接互联网,这些设备可以是Windows、macOS、Linux系统的计算机,也可以是支持相应客户端的移动设备。
2. 设备的性能和网络带宽应满足实际使用需求,避免因设备性能不足或网络不稳定导致组网体验不佳。
二、创建Cloudflare Tunnel
1. 登录Cloudflare Zero Trust控制台:注册完成后,在浏览器中访问Cloudflare Zero Trust控制台 ,使用之前注册的账号登录。
2. 进入Tunnels设置页面:登录后,在控制台左侧菜单栏中,点击“Zero Trust”,然后选择“Networks”下的“Tunnels”选项,进入隧道管理页面。
3. 创建新隧道:在“Tunnels”页面,点击“Create a tunnel”按钮开始创建新的隧道。
4. 选择连接器类型:在弹出的创建隧道向导中,选择“Cloudflared”作为连接器类型,然后点击“Next”按钮继续。
5. 配置隧道名称:为新建的隧道输入一个易于识别和管理的名称,例如“Office - Remote Tunnel”,以便在后续管理中能够清楚地知道该隧道的用途。输入完成后,点击“Save tunnel”按钮保存设置。此时,Cloudflare会为你生成一个用于连接隧道的令牌(Token),这个令牌非常重要,请妥善保存,后续安装Cloudflared客户端时会用到。
三、安装并运行Cloudflared
(一)下载Cloudflared客户端
1. 根据你设备的操作系统,从Cloudflare官方下载页面下载对应的Cloudflared客户端安装包。
• 如果你使用的是Windows系统,下载Windows版本的安装包(通常为.msi格式)。
• 对于macOS系统,下载.dmg格式的安装包。
• Linux系统用户则需要根据自己的发行版选择合适的安装包(如.deb或.rpm格式)。
(二)安装Cloudflared客户端
1. Windows系统:
• 下载完成后,找到下载的.msi安装包,双击运行安装程序。
• 在安装向导中,按照提示逐步完成安装,一般情况下保持默认设置即可。安装过程中可能会提示你需要管理员权限,确认授权以完成安装。
2. macOS系统:
• 双击下载的.dmg文件,打开安装包。
• 将Cloudflared图标拖动到“Applications”文件夹中,完成安装。
3. Linux系统:
• 对于.deb格式的安装包(如Ubuntu、Debian系统),打开终端,使用cd命令切换到安装包所在的目录,然后运行sudo dpkg -i <安装包名称>.deb命令进行安装(将<安装包名称>替换为实际的安装包文件名)。
• 对于.rpm格式的安装包(如CentOS、Red Hat系统),在终端中切换到安装包目录,运行sudo rpm -ivh <安装包名称>.rpm命令进行安装(同样将<安装包名称>替换为实际的安装包文件名)。
(三)配置并运行Cloudflared
1. 打开终端或命令行窗口(Windows系统可以通过搜索“命令提示符”或“PowerShell”打开;macOS和Linux系统直接打开终端)。
2. 使用管理员权限运行以下命令(将<你的token>替换为之前在Cloudflare控制台创建隧道时生成的令牌):
• Windows系统(PowerShell):
.\cloudflared.exe tunnel login <你的token>
• macOS和Linux系统:
./cloudflared tunnel login <你的token>
3. 登录成功后,运行以下命令启动隧道(同样要确保<你的隧道名称>替换为你实际创建的隧道名称):
• Windows系统(PowerShell):
.\cloudflared.exe tunnel run <你的隧道名称>
• macOS和Linux系统:
./cloudflared tunnel run <你的隧道名称>
4. 如果你希望Cloudflared在系统启动时自动运行,可以根据不同操作系统进行相应设置:
• Windows系统:
• 打开“任务计划程序”,在左侧导航栏中选择“任务计划程序库”。
• 点击右侧的“创建任务”,在“常规”选项卡中,为任务命名(如“Cloudflared Autostart”),并勾选“使用最高权限运行”。
• 在“触发器”选项卡中,点击“新建”,设置任务在系统启动时触发。
• 在“操作”选项卡中,点击“新建”,在“程序/脚本”栏中输入Cloudflared的安装路径(例如C:\Program Files\Cloudflare\Cloudflared\cloudflared.exe),在“添加参数(可选)”栏中输入tunnel run <你的隧道名称>。
• 点击“确定”保存任务设置。
• macOS系统:
• 打开“终端”,运行launchctl list | grep cloudflared检查是否已有Cloudflared的启动项。如果没有,创建一个新的启动项配置文件。运行sudo nano /Library/LaunchDaemons/com.cloudflare.cloudflared.plist命令打开配置文件编辑。
• 在打开的文件中,粘贴以下内容(将<你的隧道名称>替换为实际名称):
• 按Ctrl + X,然后按Y,再按Enter保存并退出。
- 运行sudo launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist命令加载启动项。
• Linux系统(以systemd为例,适用于大多数现代Linux发行版):
• 打开终端,运行sudo nano /etc/systemd/system/cloudflared.service命令创建一个新的systemd服务配置文件。
• 在文件中输入以下内容(将<你的隧道名称>替换为实际名称,确保ExecStart后的路径为Cloudflared的实际安装路径):
[Unit]
Description=Cloudflare Tunnel
After=network.target
[Service]
ExecStart=/usr/local/bin/cloudflared tunnel run <你的隧道名称>
Restart=always
User=root
[Install]
WantedBy=multi - user.target
• 按Ctrl + X,然后按Y,再按Enter保存并退出。
- 运行以下命令重新加载systemd配置,并启动Cloudflared服务,同时设置为开机自启:
sudo systemctl daemon - reload
sudo systemctl start cloudflared
sudo systemctl enable cloudflared
(四)验证隧道状态
1. 回到Cloudflare控制台的“Tunnels”页面,查看刚刚创建的隧道状态。如果隧道已成功连接并运行,状态将显示为“Active”(活动)。
2. 同时,在运行Cloudflared客户端的设备终端中,也可以查看日志信息来确认隧道是否正常运行。如果出现错误信息,请仔细检查前面的步骤,特别是令牌的输入是否正确,以及网络连接是否正常。
四、设置专用网络
1. 回到Cloudflare Zero Trust控制台,在左侧菜单栏中点击“Zero Trust”,然后选择“Networks”下的“Tunnels”。
2. 找到并点击之前创建的隧道名称,进入隧道详细设置页面。
3. 在页面顶部,点击“专用网络”选项卡。
4. 新建网络:
• 点击“新建网络”按钮,在弹出的对话框中设置一个不与现有网络冲突的网段。例如,可以设置为10.10.0.0/16。这个网段将用于你在Cloudflare Zero Trust环境下的异地组网。
• 输入网段后,点击“保存”按钮。
5. 设置访问规则:
• 在“专用网络”页面,找到“访问规则”部分。如果没有现成的合适规则,需要创建一个新的访问规则。
• 点击“创建访问规则”按钮,在弹出的规则创建对话框中进行如下设置:
• 名称:输入一个描述性的名称,例如“Allow Team Members to Access Private Network”。
• 应用于:选择“用户和设备”。
• 用户和组:可以选择特定的用户组或直接添加单个用户的邮箱地址。如果是团队使用,建议创建用户组并将相关成员添加到组中,然后在此处选择该用户组。对于个人使用,可以直接添加自己的邮箱地址。
• 条件:可以根据需要设置更多条件,如设备是否安装了特定的安全软件、设备的地理位置等。如果暂时不需要复杂条件,可以保持默认设置。
• 操作:选择“允许访问”。
• 完成设置后,点击“保存”按钮。
6. 安装并配置WARP客户端:
• 下载[WARP客户端](https://www.cloudflare.com/zh - cn/products/warp/),根据设备的操作系统下载对应的版本(Windows、macOS、iOS、Android等)。
• 安装完成后,打开WARP客户端。
• 在WARP客户端中,点击右键(Windows和macOS)或找到相应的设置选项(移动设备),选择“登录”。
• 使用你在Cloudflare注册的账号登录。登录成功后,找到之前在Cloudflare控制台设置的团队名称(通常就是你的账号关联的团队),点击“链接”按钮将设备连接到团队的Zero Trust环境。
7. 在Cloudflare后台配置WARP客户端:
• 回到Cloudflare网页后台,在“Zero Trust”的“Settings”(设置)中,找到“WARP”相关设置部分。
• 根据提示,可能需要进行一些额外的设置,如验证邮箱等。按照系统提示操作,通常会向你的注册邮箱发送验证码,在指定位置输入验证码完成验证。
五、测试连接
1. 在完成上述所有设置后,在参与异地组网的设备上进行连接测试。
2. 打开命令行工具(Windows的命令提示符或PowerShell,macOS和Linux的终端)。
3. 使用ping命令或其他网络测试工具,尝试访问其他在同一专用网络中的设备的虚拟IP地址。例如,如果另一台设备在专用网络中的IP地址是10.10.0.10,则在当前设备的命令行中输入ping 10.10.0.10。
4. 如果网络连接正常,你应该能够收到来自目标设备的响应,这表明异地组网已经成功。如果测试失败,请检查以下几点:
• 确认所有设备都已正确安装并运行Cloudflared和WARP客户端,且客户端状态正常。
• 检查访问规则是否正确设置,确保当前用户或设备被允许访问专用网络。
• 检查网络连接是否稳定,尝试在不同的网络环境下进行测试。
• 查看Cloudflare控制台和设备上的日志信息,以获取更详细的错误提示,根据提示进行相应的排查和修复。
另外,请确认一下域名绑定没有问题,
在Cloudflare Zero Trust Tunnel的情境下,域名与Tunnel存在着多方面的紧密联系,具体如下:
访问标识与定位
• 域名作为访问入口:域名是用户访问资源的入口,在Zero Trust架构中,当配置Tunnel时,需要将特定域名与Tunnel关联。比如企业有example.com域名,配置Tunnel后,用户就可通过https://example.com等域名形式访问Tunnel内的资源,域名起到了定位和标识访问路径的作用。
• 反向代理与路径映射:Cloudflare通过域名来确定将用户请求反向代理到哪个Tunnel及后端资源。可将不同域名或域名下的特定路径映射到不同的Tunnel,实现对不同业务系统或资源的隔离访问。
安全与认证
• 基于域名的访问策略:可依据域名制定访问策略,如只允许特定域名下的请求通过Tunnel访问内部资源,防止非法域名访问,增强安全性。
• TLS加密与证书:域名与TLS加密紧密相关,为域名获取SSL/TLS证书后,Cloudflare可对通过Tunnel的流量加密,保证数据传输安全,用户访问时也能确认域名真实性和连接安全性。
配置与管理
• Tunnel配置依赖域名:在Cloudflare管理界面配置Zero Trust Tunnel时,需指定关联域名,设置DNS记录等,让Tunnel知道要处理哪些域名的流量。
• 域名解析与Tunnel互通:域名的DNS解析设置要与Tunnel配置匹配,将域名解析指向Cloudflare服务器,确保流量能正确进入Tunnel,实现异地组网资源访问。