MotionPro 的工作原理:网关—隧道—资源三层架构解析
三层架构概览
MotionPro 的安全接入过程可以理解为一个由外到内的三层递进架构:
- 网关层(Gateway):Array AG 系列安全网关,部署在组织网络边界
- 隧道层(Tunnel):SSL/TLS 加密隧道,在公网上建立安全通道
- 资源层(Resource):用户最终要访问的内网资源(网页、应用、文件服务器、远程桌面等)
每一层都有明确的职责和边界:网关负责认证和策略,隧道负责加密和传输,资源由网关按策略向用户暴露。
第一步:网关连接与身份认证
这是整个流程的起点。用户在 MotionPro 客户端中填入组织 IT 提供的网关地址(如 vpn.example.edu.cn:443),点击连接后:
- DNS 解析:客户端对网关主机名进行 DNS 解析,获取 IP 地址
- TCP 连接:与网关的 443 端口(默认)建立 TCP 连接
- SSL/TLS 握手:交换证书、协商加密套件、生成会话密钥
- AAA 认证:在加密通道上进行身份认证,可能包括:
- 账号密码(最常见)
- 双因素认证(短信验证码、OTP 令牌)
- 客户端证书(部分高安全场景)
- 设备 ID 校验
- SMX/OAuth 第三方登录
- Host Check(如网关策略要求):客户端向网关汇报本机操作系统版本、补丁级别、杀毒软件状态等安全信息
认证成功后,网关向客户端下发会话凭证和策略参数。
第二步:L3VPN 隧道建立
认证通过后,客户端需要在内核层面建立 L3VPN 隧道,具体方式取决于操作系统和配置:
虚拟网卡模式(VNIC)
- MotionPro 在用户设备上创建一块虚拟网络适配器(Windows/macOS/Linux)
- 网关为这块虚拟网卡分配一个内网 IP 地址
- 所有指向内网网段的流量,操作系统内核会自动通过这块虚拟网卡发送
- 虚拟网卡的流量被 MotionPro 客户端程序捕获,加密后通过 SSL 隧道发往网关
这是最常用的模式,兼容性最好,但需要客户端具备虚拟网卡驱动的安装权限(部分系统需要管理员权限)。
SSTP 协议模式
- 利用 Windows 内置的 SSTP(Secure Socket Tunneling Protocol)协议
- 不需要 MotionPro 安装额外的虚拟网卡驱动
- 在某些不允许安装第三方驱动的环境下更友好
- 功能上与 VNIC 模式基本等价
实践中,如果遇到反复重连或驱动冲突问题,可以尝试在客户端设置里将虚拟网卡类型从 SSTP 切换为 VNIC 或反向切换,经常能解决问题。
第三步:路由与 DNS 下发
隧道建立后,网关会向客户端下发关键的网络参数:
- 内网路由表:告诉操作系统哪些 IP 网段需要走 VPN 隧道,哪些直接走本地网络
- DNS 服务器:VPN 网关的 DNS 服务器地址,用于解析内网域名
- DNS 搜索域:内网 DNS 的搜索后缀
分流模式(Split Tunnel)
网关可以配置两种路由策略:
- Full Tunnel(全隧道):所有流量(包括访问公网的)都通过 VPN 隧道
- Split Tunnel(分流):只有内网网段的流量走 VPN 隧道,公网流量走本地网络
分流模式是最常用的配置,因为它不会让内网网关承担用户的全部公网出口流量压力,同时用户访问公网时也能保持较快速度。
第四步:资源访问
隧道就绪后,用户就可以像在公司/校园内网一样访问内部资源了:
| 资源类型 | 访问方式 |
|---|---|
| 内网网页 | 设备上的任意浏览器直接访问内网域名 |
| 原生内网应用 | 应用本身发起的连接自动走隧道 |
| 远程桌面(RDP) | 使用 MotionPro DesktopDirect 或 Windows 远程桌面客户端 |
| 企业应用门户 | MotionPro 客户端内置的门户界面,展示网关下发的应用列表 |
| 企业应用商店 | 门户内直接安装/更新组织批准的原生应用 |
| 安全浏览器 | MotionPro 内置浏览器,专为 Web 应用设计,防止数据泄漏 |
连接状态与生命周期
MotionPro 客户端维护一个连接状态机,大致的转换路径:
已断开 → 正在连接 → 认证中 → 隧道建立 → 已连接(运行中)
↓
空闲超时/手动断开 → 正在断开 → 已断开
↓
网络中断 → 正在重连 → (重连成功或失败)
客户端会在状态栏和系统托盘/通知中心实时显示当前状态。部分场景下(如网络切换)可能出现长时间的"正在重连"状态,这通常与客户端的重连策略和网络环境有关。