一种在SDN网络中支持多用户隔离的加密接入方法及系统
技术领域
本申请涉及网络安全领域,尤其涉及一种在SDN网络中支持多用户隔离的加密接入方法及系统。
背景技术
在传统IP网络中,用户通过加密方式接入Internet,为了更好的支持用户的数据安全和隔离传送。当用户希望通过加密方式接入到专线网络中时,专线网络的接入层一般使用单物理口单IP的方式为单个用户提供加密接入服务。目前没有相关的技术能在接入层通过单物理口单IP的方式接入多个客户加密流量的技术和设备。
发明内容
为解决上述技术问题之一,本发明提供了一种在SDN网络中支持多用户隔离的加密接入方法,所述方法包括:
接收经加密后的第一终端发送的报文;
根据预先设置的加密配置对第一终端发送的报文进行解密;
将解密后的报文发送至内网高速隧道;
接收内网高速隧道发送的解密后的报文;
根据预先设置的加密配置对所述解密后的报文进行加密;
将加密后的报文发送至第二终端。
优选地,所述第一终端发送的报文通过设置在第一终端内的防火墙实现加密。
优选地,所述接收经加密后的第一终端发送的报文的过程为:接收由公网进入第一openvswitch网桥公网口的经加密后的第一终端发送的报文。
优选地,所述根据预先设置的加密配置对第一终端发送的报文进行解密的过程为:
第一openvswitch网桥内匹配由SDN控制器下发的流表将第一终端发送的报文发送至用户隔离的第一网络命名空间;
在第一网络命名空间内的linux内核根据strongswan设置的加密配置对第一终端发送的报文进行解密。
优选地,所述将解密后的报文发送至内网高速隧道的过程为:第一openvswitch网桥内匹配由SDN控制器下发的流表将解密后的报文匹配进入建立的vxlan内网高速隧道,并经过linux网络协议栈从第一openvswitch网桥私网口流出。
优选地,所述接收内网高速隧道发送的解密后的报文的过程为:接收由vxlan内网高速隧道进入第二openvswitch网桥私网口的解密后的报文。
优选地,所述根据预先设置的加密配置对所述解密后的报文进行加密的过程为:
第二openvswitch网桥内匹配由SDN控制器下发的流表将解密后的报文发送至用户隔离的第二网络命名空间;
在第二网络命名空间内的linux内核根据strongswan设置的加密配置对解密后的报文进行加密。
优选地,将加密后的报文发送至第二终端的过程为:第二openvswitch网桥内匹配由SDN控制器下发的流表将加密后的报文发送至第二openvswitch网桥的公网口,由公网口进入第二终端。
优选地,所述方法还包括:设置在所述第二终端内的防火墙接收所述加密后的报文,并对所述加密后的报文进行解密。
为解决上述技术问题之一,本发明提供了一种在SDN网络中支持多用户隔离的加密接入系统,所述装置包括防火墙、专线接入设备和vxlan内网高速隧道,所述防火墙设置在专线接入设备和终端之间,所述vxlan内网高速隧道设置在任意两个专线接入设备之间;
所述专线接入设备包括openvswitch网桥、网络命名空间和strongswan加解密模块;
所述openvswitch网桥内配置有公网口、私网口以及由SDN控制器下发的流表,所述公网口与终端相连接,所述私网口与其他专线接入设备的openvswitch网桥的私网口连接,所述由SDN控制器下发的流表用于分配发送路径;
所述网络命名空间用于提供终端发送的报文进行加解密的场所;
所述strongswan加解密模块用于对终端发送的报文进行加解密。
本发明的有益效果如下:
本发明采用SDN的方式来实现多用户单点单IP的接入,管理和运维相关专线极为方便。同时节省物理交换机(服务器资源)和公网IP。另外还可适配多种核心网。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明所述方法的流程图;
图2为本发明所述系统的原理图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,本实施例提出一种在SDN网络中支持多用户隔离的加密接入方法,所述方法包括:
S101、接收经加密后的第一终端发送的报文,根据预先设置的加密配置对第一终端发送的报文进行解密,并将解密后的报文发送至内网高速隧道。
具体的,接收由公网进入第一openvswitch网桥公网口的经加密后的第一终端发送的报文。所述第一终端发送的报文通过设置在第一终端内的防火墙实现加密。第一openvswitch网桥内匹配由SDN控制器下发的流表将第一终端发送的报文发送至用户隔离的第一网络命名空间;在第一网络命名空间内的linux内核根据strongswan设置的加密配置对第一终端发送的报文进行解密。第一openvswitch网桥内匹配由SDN控制器下发的流表将解密后的报文匹配进入建立的vxlan内网高速隧道,并经过linux网络协议栈从第一openvswitch网桥私网口流出。
S102、接收内网高速隧道发送的解密后的报文,根据预先设置的加密配置对所述解密后的报文进行加密,并将加密后的报文发送至第二终端。
具体的,接收由vxlan内网高速隧道进入第二openvswitch网桥私网口的解密后的报文。第二openvswitch网桥内匹配由SDN控制器下发的流表将解密后的报文发送至用户隔离的第二网络命名空间;在第二网络命名空间内的linux内核根据strongswan设置的加密配置对解密后的报文进行加密。第二openvswitch网桥内匹配由SDN控制器下发的流表将加密后的报文发送至第二openvswitch网桥的公网口,由公网口进入第二终端。
S103、设置在所述第二终端内的防火墙接收所述加密后的报文,并对所述加密后的报文进行解密。
对应的,本实施例还提出了一种在SDN网络中支持多用户隔离的加密接入系统,所述装置包括防火墙、专线接入设备和vxlan内网高速隧道,所述防火墙设置在专线接入设备和终端之间,所述vxlan内网高速隧道设置在任意两个专线接入设备之间;
所述专线接入设备包括openvswitch网桥、网络命名空间和strongswan加解密模块;
所述openvswitch网桥内配置有公网口、私网口以及由SDN控制器下发的流表,所述公网口与终端相连接,所述私网口与其他专线接入设备的openvswitch网桥的私网口连接,所述由SDN控制器下发的流表用于分配发送路径;
所述网络命名空间用于提供终端发送的报文进行加解密的场所;
所述strongswan加解密模块用于对终端发送的报文进行加解密。
本发明所述的在SDN网络中支持多用户隔离的加密接入方法和系统适用于多种接入的场景。用户侧可采用IPSec接入也可以采用GRE接入等等,接入的专线网络可以是SD-WAN、二层以太专线网络,MPLS VPN网络等等。下面对其中IPSec接入加二层以太网专线网络的场景进行举例说明。
如图2所示,经过第一终端的防火墙将IP包加密为esp包,报文经公网进入专线接入设备的公网口,进入openvswitch的网桥。在网桥内匹配由SDN控制器下发的流表,进入用户隔离的网络命名空间。在网络命名空间内linux内核会根据strongswan设置的加密配置将加密报文解密。报文解密后,将再次进入openvswitch网桥匹配由SDN控制器下发的流表。匹配的流表会将用户报文匹配进入建立好的vxlan内网高速隧道,最后经过linux网络协议栈从设备的私网口流出。
报文进入vxlan内网高速隧道后,最后会从隧道的另一侧流入到第二终端专线接入设备的私网口。解密后的报文会经过设备的私网口进入openvswitch网桥内,在网桥内会匹配由SDN控制器预先下好的相关流表,使用户的流量进入第二终端专线接入设备的用户隔离的网络命名空间内。在用户隔离的网络命名空间内,解密后的报文会经过strongswan设置的加密配置加密变成esp报文。esp报文会再次进入openvswitch的网桥内匹配由SDN控制器预先下发的相关流表,流表会将报文匹配进入设备的公网口,最后加密报文从设备的公网口流出,进入第二终端的防火墙进行解密获得报文信息。
在本发明所述的专线接入设备上,主要使用了SDN的相关技术。专线接入设备主要使用openvswitch的网桥根据SDN控制器下发流表来控制网络数据的走向。在专线接入设备初始化时,会在专线设备内的openvswitch网桥上设置主备SDN控制器的IP地址,此时专线设备的网桥会主动和SDN控制器建立TCP连接。TCP连接建立完成后,控制器会主动通过LLDP报文探测网桥的相关信息,并通过openflow协议下发后期业务所需的流表。
专线接入设备的公网口接受来自公网的客户流量,在openflow网桥上匹配流表,如表1所示。
$userID: 用户申请的网络命名空间内网络口在openvswitch网桥内ID
表1
第一条流表主要放行从网络命名空间出的arp请求流量。
第二条流表主要是为让网络命名空间内部网络学习到公网网关的mac地址。
第三条流表主要是为让用户侧发过来的加密流量进入用户申请的网络命名空间内部。
第四条流表主要是为了让网络命名空间内部流出的加密流量能从公网口出去,从而到达用户侧。
以上四条流表满足了接入多用户的需求,并且通过网络命名空间隔离了用户之间的流量。
用户的网络进入网络命名空间之后,可以通过匹配相关的流表让用户的流量进入专线中,提高用户两侧网络连接质量,如表2所示。
$left用户本端子网$right用户对端子网$vxlan表示vxlan口$vni表示区别用户的id$remoteip对端网络命名空间内互联IP$localip本端网络命名空间内互联IP。
表2
第一条流表主要是放行从网络命名空间出来的业务流量,并通过私网业务口通过vxlan走专线网络。
第二条流表主要是接受从专线流进的业务流量,将流量导入用户网络命名空间。
第三条流表主要是接受对端网络命名空间互联IP的arp请求。
第四条流表主要是放行本端网络命名空间内互联IP的arp请求。
此互联流程不是本发明的关键,本方案适合多中内部的互联方法。此例子走vxlan互联只是其中的一种,也可以通过vlan来识别。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。