网络级移动设备的VPN

在Runet中,关于这样一个古老而又简单,但是方便,安全并且与物联网技术(例如,移动VPN(虚拟专用网络))的发展特别相关的资料仍然很少。 在本文中,我将描述如何以及为什么可以配置具有SIM卡的任何设备对专用网络的访问,而无需在其上配置专用软件。


任务和局限性


首先,我将回答问题“为什么?”。 VPN是一项技术,用于解决各种网络问题,并结合了一个共同的功能-通过大量中间节点在两个设备之间进行隔离的数据传输。 基于此,已经建立了更复杂的解决方案,并且解决了非常不同的任务。 在通常情况下,每个人都可以使用固网运营商网络来构建VPN( 对于那些希望的人来说是非常有用的材料 )或许多不同的网络协议(GRE,IPSec,L2TP和其他-同一作者)和与之配合使用的软件产品(思科AnyConnect,OpenVPN,TOR-嗯,您自己知道),但是它们在特定终端设备上的使用立即提出了许多要求,这些要求的失败导致某些限制。

第一个严重的限制是设备必须能够在硬件和软件级别使用这些协议中的至少一个协议。 这通常是由易于在笔记本电脑或智能手机上找到的软件确定的,但是在某些情况下,从硬件的角度来看,该任务面对的设备过于简单,或者其软件存在局限性:水表希望使用VPN来传输其不幸的读数字节每月一次,不少于您要使用VPN编辑您的LinkedIn个人资料。

另一个重要的限制是需要定制。 它既适用于第一段中的“愚蠢”设备,也适用于以前的限制未知的经典智能手机和计算机。 如果使用前者,一切都相对简单,并且取决于安装所花费的时间,那么使用后者,则可以选择。 通常,组织出于安全目的使用VPN来保护服务终端设备免于在没有适当公司保护的情况下访问公共网络,或防止通过公共渠道传输服务数据。 但是,最终用户可能出于某种原因断开连接或忘记启用VPN,结果可能会遗留公司的许多安全系统。

如果在网络级别提供对VPN的访问,则可以轻松消除这两个限制。 在移动通信的情况下,可以使用“移动VPN”来实现。 能够传输数据的任何复杂程度的设备都会将其传输到正确的网络。 不管在设备上进行什么设置,如果网络配置正确,它将在任何情况下将其转移到您想要的位置,而无其他地方。

而且,作为一项不错的奖励,该设备将从内部网络接收地址,并进行远程配置,并且仅从该网络内部(或物理位置)访问该地址即可。 对于特定类别的设备,这非常重要。

如何运作


PS核心


VPN似乎是B2B领域所有电信运营商的经典服务,那么为什么要关注这一点呢? 问题是如何为通过GPRS,HSPA,LTE或其他移动通信技术连接的设备安排数据网络。 没有所有网络管理员都熟悉的VLAN,没有交换机,甚至没有路由器的通常含义。 但是,有一个无线接入网(RAN)和一个分组核心(PS Core)。


移动运营商的分组网络的简化图。 LTE略有不同,但一般含义保持不变。

在一般情况下,每个在分组网络中注册了SIM卡的设备(已通过GPRS附加程序等),在开始向某处传输数据之前,应在分组网络核心路由器GGSN上启动数据传输会话(PDP上下文)的创建。 本文对这些过程的细节和目的进行了很好的描述。 对我们来说重要的是:发起会话时,对GGSN的请求以及其他请求,其中包括许多人在手机上看到的参数,甚至在设置USB调制解调器时都已处理过的参数。 这是三个字段:APN,登录名和密码。 APN(接入点)是GGSN逻辑中非常重要的实体:根据发起会话的APN,GGSN的行为方式不同。 作为成功处理用户请求的结果,GGSN必须激活数据传输会话并将其参数(特别是分配给该设备的IP地址和DNS地址)通知设备。 有许多重要的非常重要的功能:

  • 在发起会话的请求中,设备从不询问要接收的IP地址。
  • 除了在设备设置中指定的“ APN”,“登录”和“密码”字段外,对GGSN的请求还转移了订户的电话号码(MSISDN)(以下称“订户”是最终用户,一台带有SIM卡的设备,以及“客户”-服务的组织客户,包括订户);
  • 激活会话后,GGSN在其路由表中创建新IP地址的记录。 GGSN上的所有用户都由路由表中带有前缀/ 32的条目表示,即 1个订阅者-表中有1个条目。 GGSN是一个非常有生产力的路由器。
  • 由于各种原因,运营商的网络可以在不同阶段(在SGSN和GGSN上)处于不同阶段,以更改发起会话的请求中的APN字段。 在某些情况下,这可以减少,在某些情况下,可以完全排除具有SIM卡的设备上的网络设置。

在前三点上,立即出现了一个问题:向用户发布了哪种IP地址?
这取决于激活会话的请求所伴随的APN的设置。 大约99%的移动数据用户使用常规Internet访问。 这些是internet.mts.ru,internet.beeline.ru等知名的访问点。 对于Internet访问,GGSN根据经典DHCP原理从设置中指定的灰色子网中发布地址。 当访问公共网络时,它们会被经典NAT(或更确切地说是其版本,即PAT)关闭。

但是GGSN的功能更多。 要选择IP地址,他可以向授权服务器(例如Radus)发出AAA请求。 根据其用途为各个APN配置此逻辑。 最简单的情况是提供永久性公共IP地址的服务。 通常,这些地址会在运营商的帐单(BSS)中分配给订户,并且取决于IT架构,它们最终会存储在特定的数据库中,可由GGSN请求访问。 由于他知道将包含在请求中的订户的MSISDN(电话号码),因此这样的数据库将非常简单,并且可能仅包含一堆数字和地址。 此外,如果客户计划使用一个SIM卡连接多个设备(例如,如果SIM卡位于远程办公室的WiFi路由器中),则此表还可能包含所谓的“成帧路由”-位于“ SIM卡”,它将使用动态路由协议向网络上的所有设备发布。

没有一个GGSN


除了发布地址外,还必须将订户流量传递到各自独立的客户端网络。 在这里,一切工作都更加传统。 在GGSN上,专门用于VPN APN的流量被路由到运营商网络的单独路由器(有时可以称为VPN路由器,有时称为VPN路由器),后者又在L3VPN方案中执行传统PE的功能。 它添加了必要的标签,标头,仅此而已,并将所有这些流量通过传输网络的路由器发送到预先配置的节点或到客户网络的隧道。 这部分已经非常传统,并且在其他地方进行了多次描述,因此在本材料中我将不再关注它。

有了所有这些详细信息,可以有几种组织移动VPN的方法,并且它们通过结合以下功能而彼此不同:

  • 如上所述,IP地址可以动态发布(每次都与给定子网的地址不同),也可以静态发布(每次特定订户的地址相同),这取决于/或APN设置和/或Radius服务器的设置;
  • Radius服务器可以在操作员控制下或在客户端控制下发布IP地址。
  • 连接到移动VPN的设备只能彼此交互,或者可以通过与运营商的直接接口(VPN端口)或通过Internet的隧道访问常规L3VPN客户端网络。
  • 在某些情况下,可能需要使用用户名和密码来成功激活会话,有时甚至没有必要填写“ APN”字段。

数十种这样的组合具有不同的隧道类型,可以平衡“主” VPN客户端的访问通道之间的流量和地址分配的原理。 在大多数情况下,一般方案如下:



结果,在经过相当快速的网络注册和获取IP地址的过程之后,该设备可以访问客户端的网络,而客户端的网络可以访问该设备。 同时,该订户与运营商的所有与特定客户端无关的其他订户都是隔离的,他不需要任何其他设置,所有流量无可替代地发送到客户端的网络,并根据客户端的内部策略进行处理。

Source: https://habr.com/ru/post/zh-CN444946/


All Articles