开启Windows网络唤醒(WOL)和远程桌面(RDP)
WindowsPro自带的远程桌面技术成熟,是远程办公优秀的解决方案。

开启Windows网络唤醒(WOL)和远程桌面(RDP)

一、概念

网络唤醒(Wake On Lan),通过UDP协议(发送端口为9或7),向局域网内广播地址(255结尾)发送幻数据包(Magic Packet),幻数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址(重复16次),数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。

远程桌面(Remote Desktop Protocol),使用TCP协议(端口3389),必须用证书封装加密。

二、启动

(一)WOL启用

前提:主板支持(新主板一般都支持);网卡支持(部分网卡仅支持休眠下S3唤醒,不支持关机下S5唤醒)。

1. BIOS设置

  • Sleep Type(Legacy模式)
  • Deep S4/S5(关闭;关闭S4/S5最大节能)
  • Wake On Lan from S4/S5(开启,启动模式选正常启动)
  • Wake System from S5(开启)

2. Windows设置

  • 控制面板–电源选项–选择电源开关用途–快速启动(关闭)
  • 设备管理器–网卡–属性–高级:网络唤醒(开启);幻数据包(开启)
  • 设备管理器–网卡–属性–电源管理:允许节能(开启);允许唤醒计算机(开启);只允许幻数据包(开启)。注意:如果网卡没有“电源管理”,检查BIOS的SleepType是否为Legacy模式。

注意: 网卡的驱动是巨坑。一定保证驱动最新,且能开启WOL;默认驱动不支持WOL是最普遍的问题!

3. Openwrt设置

# 安装 WakeOnLan 控件:
$ opkg install etherwake luci-app-services-wolplus luci-i18n-services-wolplus-zh-cn
# 唤醒:
$ /usr/bin/etherwake -i br-lan 00:00:AA:CC:BB:00  # 需要电脑mac地址和其所在局域网的接口br-lan

4. 路由器设置(通过Internet唤醒时)

  • 端口转发:协议UDP;外部端口10009;内部端口9;转发至指定IP转发至局域网广播地址(255结尾)。
  • 防火墙:放行UDP外部端口10009。
  • 设置“IP/MAC绑定”(ARP协议),IP->Mac的直接固定映射。

(二)RDP启用

前提:Windows Pro 系统。Home系统没有RDP功能,但可通过第三方补丁解决。

  1. 设置–系统–远程桌面:启动
  2. 控制面板–系统属性–远程:允许远程连接(开启);仅允许网络级别身份验证(开启)
  3. 路由器设置(通过Internet使用时)
  • 防火墙和端口转发:协议TCP;外部端口不要3389,选10000以上大端口;内部端口3389(RDP默认端口)。

三、RDP的Windows系统安装TLS证书(安全必须)

(一)获得证书

由于Windows需要pkcs12(即pfx)格式的证书,因此可以使用 acme.sh 自带的转换功能进行转换:

$ ./acme.sh --toPkcs -d <domain> [--password pfx-password]
# 不传入密码则会在后续通过对话的形式询问设置。pkcs12证书必须设密码。
# 或者,如没有 acme.sh 也可以使用 openssl 来进行转换
$ openssl pkcs12 -export -in <cer file> -inkey <key file> -out <out file>
# 会通过对话的形式询问设置证书密码

(二)安装证书

  1. 运行 – mmc
  2. 菜单栏“文件” - “添加/删除管理单元” :将“证书”管理单元从“可用的管理单元”添加到“所选管理单元”;配置 “该管理单元始终为下列账户管理证书”=“计算机账户”、“这个管理单元将始终管理”=“本地计算机”;完成添加。
  3. 左边栏依次展开“证书” — “个人”,随后右键“个人”或右侧空白位置,选择“所有任务” — “导入”:浏览(注意选择文件类型为pfx)选择要添加的pfx证书文件;需要填写生成证书时设置的密码;证书的存储位置手动指定为“个人”;完成导入。
  4. 右键刚刚导入的证书,“所有任务” — “管理私钥”,检查用户“NETWORK SERVICE”是否有读取权限(如没有需手动添加)。
  5. 查看证书的信息,在“详细信息”选项卡中选择“指纹”,记录下指纹。
  6. 关闭mmc,不需要保存。
  7. 启动注册表编辑器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp ,如果路径不存在,则新建。打开后新建一个名为 SSLCertificateSHA1Hash 的二进制值,手动敲入指纹(无法粘贴)。

(三)强制使用TLS1.3

  1. TLS1.0 与 TLS1.1 已经是不安全的协议了!
  2. 启动注册表编辑器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentcontrolSet\Control\SecurityProviders\SCHANNEL\Protocols ,如果路径不存在,则新建;在 Protocols 项下继续新建 TLS 1.0TLS 1.1TLS 1.3 项;在各项下,继续新建 Server 项和 Client 项。在 Server 项和 Client 项里, 新建名为 Enabled 的“DWORD(32位)值”。1.0和1.1都设为0;1.3设为1

最后修改于 2024-02-24