Cloudflare One 客户端允许用户使用他们首选的 RDP 客户端连接到 RDP 服务器。Cloudflare Tunnel 在您的 RDP 服务器与 Cloudflare 的全球网络之间创建安全且仅出站的连接;这需要在服务器(或私有网络中的任何其他主机)上运行 cloudflared 守护程序。用户在其设备上安装 Cloudflare One 客户端并注册到您的 Zero Trust 组织。远程设备将能够像在您的私有网络中一样进行连接。默认情况下,所有在您组织中注册的设备都可以连接到 RDP 服务器,除非您构建策略来允许或阻止特定用户。
此示例演示了如何在 Google Cloud Platform (GCP) 虚拟机 (VM) 上设置 RDP 服务器,但您可以使用任何支持 RDP 连接的机器。
- 在您的 Google Cloud 控制台 ↗中,创建一个新项目 ↗。
- 转到 Compute Engine(计算引擎) > VM instances(VM 实例)。
- 选择 Create instance(创建实例)。
- 命名您的 VM 实例,例如
windows-rdp-server。 - 配置您的 VM 实例:
- 向下滚动到 Boot disk(启动磁盘) 并选择 Change(修改)。
- 对于 Operating system(操作系统),选择 Windows Server。
- 选择带有“桌面体验”的 Version(版本),例如 Windows Server 2016 Datacenter。
- 虚拟机运行后,打开 RDP 旁的下拉菜单,然后选择 View gcloud command to reset password。
- 选择 Run in Cloud Shell(在 CloudShell 中运行)。
- 在 Cloud Shell 终端中运行该命令。系统将要求您确认密码重置。
- 将自动生成的密码和用户名复制到安全的地方。
您可以使用任何 RDP 客户端来访问和配置 RDP 服务器。
要通过 Microsoft Remote Desktop 访问服务器:
- 下载并安装 Microsoft Remote Desktop ↗。
- 下载完成后,打开 Microsoft Remote Desktop 并选择 Add a PC(添加电脑)。
- 对于 PC name(电脑名称),输入您的 RDP 服务器的公有 IP 地址。在 GCP 中,这是 VM 实例的 External IP(外部 IP)。
- 对于 User account(用户账户),选择 Add User Account(添加用户账户) 并输入您自动生成的密码和用户名。
- 选择 Add(添加)。该电脑将显示在 Microsoft Remote Desktop 中。
- 要测试基本连接,双击新添加的电脑。
- 当被询问您是否要继续时,选择 Continue(继续)。
您现在可以使用其公有 IP 远程访问 RDP 服务器。接下来的步骤将配置使用其私有 IP 访问服务器。
-
在 Cloudflare 仪表板中,转到 Networking(网络) > Tunnels(隧道)。
Go to Tunnels ↗ -
创建新隧道或编辑现有的
cloudflared隧道。
-
在 Cloudflare 仪表板中,转到 Networking(网络) > Routes(路由)。
Go to Routes ↗ -
选择Create route(创建路由) > Tunnel CIDR(隧道 CIDR)。选择您刚刚创建的隧道,输入服务器的私有 IP 或 CIDR 地址(在 GCP 中,服务器 IP 是 VM 实例的 Internal IP(内部 IP)),然后选择Create route(创建路由)。
-
(可选)设置 Zero Trust 策略以微调对您服务器的访问。
要将您的设备连接到 Cloudflare:
- 在您的设备上以流量和 DNS 模式(Traffic and DNS mode)部署 Cloudflare One Client,或生成代理端点(proxy endpoint)并部署 PAC 文件。
- 创建设备注册规则以确定哪些设备可以注册到您的 Zero Trust 组织。
默认情况下,WARP 会排除发往 RFC 1918 地址空间 ↗的流量,这些 IP 地址通常用于私有网络,且无法从互联网访问。为了让 Cloudflare One Client 向您的 private network 发送流量,您必须配置分流隧道(Split Tunnels),以便将您的 private network 的 IP/CIDR 路由通过 Cloudflare One Client。
-
首先,检查您的分流隧道模式是设置为**Exclude(排除)还是Include(包含)**模式。
-
根据该模式编辑您的分流隧道路由:
如果您使用的是**Exclude(排除)**模式:
a. 删除包含您的 private network 的 IP/CIDR 范围的路由。例如,如果您的网络使用默认 AWS 范围
172.31.0.0/16,请删除172.16.0.0/12。b. 重新添加您的 private network 没有明确使用的 IP/CIDR 范围。对于上述 AWS 示例,您需要为
172.16.0.0/13、172.24.0.0/14、172.28.0.0/15和172.30.0.0/16添加新条目。这可确保只有发往172.31.0.0/16的流量通过 Cloudflare One Client 进行路由。您可以使用以下计算器来确定要重新添加的 IP 地址:
计算器说明
- 在 Base CIDR 中,输入您从分流隧道中删除的 RFC 1918 范围。
- 在 Subtracted CIDRs 中,输入您的 private network 所使用的 IP/CIDR 范围。
- 将计算器结果重新添加到您的分流隧道“排除”模式列表中。
通过缩小 Cloudflare One Client 中包含的私有 IP 范围,您可以降低破坏用户访问本地资源的风险。
如果您使用的是**Include(包含)**模式:
- 将所需的 Zero Trust 域或IP 地址添加到您的分流隧道“包含”列表中。
- 添加一条路由以包含您的 private network 的 IP/CIDR 范围。
一旦配置了 Cloudflare One 客户端,您就可以使用您的 RDP 客户端连接到服务器的私有 IP 地址(而不是最初使用的公有 IP 地址)。
要在 Microsoft Remote Desktop 中进行连接:
- 打开 Microsoft Remote Desktop 并选择 Add a PC(添加电脑)。
- 对于 PC name(电脑名称),输入您的 RDP 服务器的私有 IP 地址。在 GCP 中,这是 VM 实例的 Internal IP(内部 IP)。
- 对于 User account(用户账户),输入您的 RDP 服务器用户名和密码。
- 要测试 Zero Trust 连接性,双击新添加的电脑。
- 当被询问您是否要继续时,选择 Continue(继续)。
您现在拥有了对 RDP 服务器的安全远程访问权限。