必须启用远程桌面网关(RD Gateway)作为统一入口,所有RDP流量经443端口加密穿透防火墙;需在域内Windows Server 2016/2019/2022上安装角色,配置SSL证书、资源授权策略(RAP)和连接授权策略(CAP),并确保CAP启用,客户端连接时显式指定网关地址。

当你需要让外部用户安全访问内网中多台远程桌面服务器,又不能把每台服务器的3389端口直接暴露在公网上时,必须启用远程桌面网关(RD Gateway)作为统一入口,所有RDP流量经由443端口加密穿透防火墙,彻底规避端口扫描与暴力破解风险。
在Windows Server上安装并启用RD Gateway角色
这一步必须在已加入域且具备管理员权限的Windows Server 2016/2019/2022主机上操作,家庭版或工作站系统无法承载该角色。
打开“服务器管理器”→点击“管理”菜单→选择“添加角色和功能”→在“安装类型”页选“基于角色或基于功能的安装”→确认目标服务器后进入“服务器角色”页→展开“远程桌面服务”,勾选【远程桌面网关】→系统自动添加依赖项,点击“下一步”直至完成安装。
安装完成后,服务器管理器左侧面板→点击“工具”→选择“远程桌面网关管理器”→右键服务器名→选择“属性”→切换至“SSL证书”选项卡→必须指定一个有效证书,且其主题名称(Subject)或SAN必须与客户端实际访问的网关域名(如rdgw.corp.local)完全一致,否则连接将被中止。
配置资源授权策略(RAP)限定可访问的目标
RAP决定“谁可以连到哪台机器”,不配置则默认拒绝全部内网资源,这是防止越权访问的第一道硬闸。
在“远程桌面网关管理器”中,右键“资源授权策略(RAP)”→选择“新建”→在向导中输入要放行的内网目标,支持单IP(如192.168.10.50)、FQDN(如hr-server.corp.local)或IP段(如192.168.10.0/24)→点击“下一步”完成创建。
注意:若填写的是主机名而非IP,需确保网关服务器能通过DNS正向解析该名称;若使用IP段,务必核对子网掩码精度,写错会导致策略失效或过度放行。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
设置连接授权策略(CAP)控制谁能发起连接
CAP策略聚焦于“谁有资格连进来”,它验证用户身份、设备合规性及认证方式,是网关鉴权的核心环节。
方法一:图形化新建CAP
右键“连接授权策略(CAP)”→“新建”→在向导中设置策略名称→点击“添加用户或组”→输入允许登录的AD安全组(如Domain\RemoteUsers)→勾选“仅允许使用强密码的用户”→启用“需要网络级身份验证”→完成。
方法二:PowerShell批量部署(适用于多节点标准化)
以管理员身份运行PowerShell→执行Import-Module RemoteDesktop→运行New-RDCap -Name "Corp-Remote-CAP" -UserGroups "Domain\RemoteUsers" -RequireStrongPassword $true -RequireNLA $true→最后执行Enable-RDCap -Name "Corp-Remote-CAP"激活策略。
这一步操作起来很简单,但【CAP必须启用才生效,新建后默认为禁用状态】,漏掉启用命令会导致所有连接请求被静默拒绝。
客户端连接时指定网关地址并启用网关认证
Windows客户端需显式告知RDP连接应走网关通道,否则会尝试直连目标,绕过全部保护机制。
打开“远程桌面连接”(mstsc.exe)→输入内网目标计算机名或IP→点击“显示选项”→切换到“高级”选项卡→勾选“如果连接到远程计算机时需要,使用以下远程桌面网关”→在下方输入网关FQDN(如rdgw.corp.local)→点击“设置”→在弹出窗口中选择“使用我的凭据登录”或“每次连接时都提示我输入凭据”→点击“确定”→返回主界面点击“连接”。
若网关证书未被客户端信任(例如使用自签名证书),首次连接会弹出安全警告,必须手动点击“是”才能继续;后续连接将不再提示,但证书变更后仍会重新预警。










