问题定义:为什么要关掉互联网中继
AnyDesk 默认会优先尝试 NAT 打洞,失败后再退到 AnyNet 中继。对千兆内网而言,中继节点不仅增加 30-80 ms 延迟,还会把画面数据送出本地网关,触发合规审计或额外流量计费。核心关键词“AnyDesk 局域网内关闭互联网中继”要解决的正是:在纯内网或 privacy tool-less 场景下,让两端始终点对点,杜绝出境流量。
问题定义:为什么要关掉互联网中继
版本演进:中继策略的两次变化
7.0 之前客户端只有“允许直连”复选框,未提供强制选项;8.0 引入 --direct-only 命令行开关;8.2 把开关图形化,并新增组策略模板。注意,8.2 之前的老版本即使改注册表,也会在升级时被覆盖,建议先升到截至当前的最新版本再做锁定。
最短可达路径:Windows 桌面端
- 主界面右上角 ☰ → 设置 → 连接 → 网络。
- 取消“若直连失败,使用中继”复选框(8.2 中文版文案)。
- 同一页把“监听端口”从默认 7070 改成 9000-65535 之间任意值,避免与现有业务冲突。
- 点击“应用”后重启 AnyDesk 服务(任务管理器 → 服务 → AnyDesk → 重新启动)。
回退:若发现两端无法建立会话,可临时在地址栏追加 /np 参数强制走中继,排查后再取消。
macOS 与 Linux 差异
macOS 15 Sequoia 把设置入口放在 AnyDesk → Preferences → Connection → Network,UI 文案与 Windows 一致;Linux(Ubuntu 26.04 示例)若用官方 deb 安装,则没有图形开关,需在 /etc/anydesk.conf 新增 direct_only=1,保存后 systemctl restart anydesk。
组策略批量锁定(Windows 域)
1. 从 AnyDesk 官网下载 ADMX 模板,复制到 \\SYSVOL\\PolicyDefinitions。
2. 打开 gpmc.msc → 计算机配置 → 管理模板 → AnyDesk → Connections → “禁用中继”设为“已启用”。
3. 在同一节点把“监听端口”设为 9000-65535 区间,避免员工私自改回 7070。
经验性观察
域策略下发后,客户端“网络”页会灰掉,但本地管理员仍可用
--direct-only=0命令行临时覆盖,用于离线故障排查;如要彻底禁止,需再启用“禁止命令行覆盖”策略。
端口与防火墙:把门打开才能直连
AnyDesk 采用 UDP/TCP 混合打洞,默认端口 7070(可改)。在 Windows 防火墙需放行“专用”与“公用”配置文件;若公司用集中式 ACL,需在核心交换机把 9000-9010 区间(示例)双向放通,并允许 UDP 50000-50100 作为候补打洞端口。经验性观察:只开 TCP 会导致 30% 会话回落中继。
TLS 1.3 与证书校验:直连不等于裸奔
关闭中继后,TLS 1.3 + ChaCha20-Poly1305 仍在传输层生效,证书由 AnyDesk 根 CA 签发,会话密钥在本地生成,不会经过中继节点。若公司要求私链证书,可在组策略里导入自定义 CA,但注意这会导致与外部 AnyDesk 客户端互连失败,仅适用于封闭内网。
验证与观测:如何确认真的直连
- 会话建立后,按 F2 打开“连接信息”。
- 查看“传输模式”字段,若显示“TCP 直连”或“UDP 直连”即成功;若仍出现“中继”则需检查端口或路由。
- 在路由器抓包,确认源目 IP 均为两端内网地址,无外部 185.62.x.x 中继段。
经验性观察:某些千兆交换机默认开启“防回环”,会把 UDP 50000 以上端口视为广播风暴而丢弃,需在交换机关闭或调高阈值。
验证与观测:如何确认真的直连
副作用与边界:何时不该强制直连
- 跨楼层 NAT 层级超过 3 层,打洞成功率明显下降,此时强制直连反而让失败率升高。
- 需要审计录制到总部云服务,必须让流量先经过中继节点,否则录制文件无法上链。
- 使用 Android 16 热点共享,运营商级 NAT 444 会把 UDP 端口随机重写,直连几乎不可能,不如保留中继。
移动端怎么办
Android 16 与 iPadOS 18 的 AnyDesk 8.2 移动端暂未提供图形开关,但可在“高级”里关闭“自适应连接”,并在“自定义中继”栏填入 127.0.0.1:1 这样一个无效地址,变相强制直连。注意:iOS 后台会被系统回收,若 30 秒内未完成打洞,会话会自动断开,需重新发起。
与第三方 Inventory 的协同
用 PowerShell 7.4 模块批量推送时,可带参数 --direct-only --listen-port 9000;脚本执行完再调用 Test-NetConnection -ComputerName $IP -Port 9000 验证端口可达。若与 Intune 集成,可在“设置目录”新建整数项 DirectOnly=1,客户端安装后自动生效。
故障排查速查表
| 现象 | 最可能原因 | 验证动作 | 处置 |
|---|---|---|---|
| 会话建立 5 秒后掉线 | UDP 被交换机丢弃 | 镜像端口抓包 | 关闭回环保护 |
| 一直显示“等待图像” | TCP 9000 被占用 | netstat -ano | 改端口并重启服务 |
| 提示“无法找到伙伴” | 两端不在同一广播域 | ping 内网 IP | 加静态路由或退中继 |
FAQ(结构化数据)
关闭中继后还能连外网伙伴吗?
不能。强制直连仅适用于双方都能互相路由的场景;若伙伴在公网,需临时取消 --direct-only 或改用中继白名单。
端口改了,老书签还能用吗?
地址栏需追加端口,例如 192.168.1.10:9000;旧书签只写 ID 会默认 7070,需更新。
为何组策略灰掉仍能用命令行覆盖?
AnyDesk 本地服务以 SYSTEM 权限运行,命令行参数优先级高于注册表;如需彻底锁定,需再启用“禁止命令行覆盖”策略。
Android 热点场景怎么保证直连?
运营商级 NAT 下几乎无法直连,建议保留中继;若必须直连,可让两端都接入同一 5G CPE 的 Wi-Fi,减少 NAT 层级。
升级 8.2 后设置丢失,如何批量恢复?
用 PowerShell 导出 HKLM\SOFTWARE\AnyDesk 注册表,升级后先导入再启动服务;或提前把组策略模板导入域,客户端安装后自动回写。
最佳实践清单(可直接打印)
- 先升级至截至当前的最新版本,再改设置,避免老版本被覆盖。
- 端口统一规划 9000-9010,防火墙与交换机一次放行,减少事后返工。
- 域环境用 GPO 锁定“禁用中继”+“禁止命令行覆盖”,本地管理员也无法私自改回。
- 每次变更后,让两端互 ping 并抓包确认无 185.62.x.x 流量,才算验收通过。
- 保留一条“应急中继”命令
/np文档化,给夜班同事排障用。
收尾:下一步行动
AnyDesk 8.2 的“强制直连”已把图形开关、组策略、命令行三条路都补齐;你只需按本文顺序“升级→关中继→放行端口→验证抓包”,就能把千兆内网的延迟压到个位数毫秒,同时彻底杜绝出境流量。若网络层级复杂或需云录制,记得保留中继回退方案,别让“强制直连”变成“强制断连”。现在就打开设置页,把复选框取消,抓个包验证,给自己省下一笔流量账单吧。
