SoftEther VPN
SoftEther VPN是一个由筑波大学研究生Daiyuu Nobori(登太游)因硕士论文而开发的开源、跨平台、多重协定的虚拟专用网方案,此方案让一些虚拟专用网协定像是SSL VPN 、L2TP、IPsec、OpenVPN以及微软SSTP都由同一个单一VPN伺服器提供。在2014年1月4日以GNU通用公共授权条款的方式转变为开源软体。
基本介绍
- 外文名:SoftEther VPN
- 性质:虚拟专用网方案
- 目的:支持NAT穿透
- 目标:性能最佳化
- 学科:网路安全
简介
SothEther VPN是专门被设计为穿过防火墙的,支持NAT穿透,创建VPN通道。2013年3月,官方开始提供VPN Gate公共VPN中继伺服器列表外挂程式,以简化高强度网路审查地区有突破网路封锁(翻墙)需求的用户的操作难度。因为用了HTTPS来伪装连线,防火墙的深度数据包检测无法侦测到SofthEther的VPN传送数据包构成的VPN通道。
性能最佳化也是SoftEther VPN的一个目标。它使用像是利用全部乙太网帧的策略,减少了存储器複製的操作、平行传输和群集,这减少了通常VPN连线会有的延迟并增加了运输吞吐量。
互用性
VPN伺服器和VPN桥接器支持微软、Linux、Mac OS X(除了10.9.x)、FreeBSD还有Solaris这些作业系统。SoftEther VPN支持自己的VPN协定但可以和OpenVPN、微软Secure Socket Tunneling Protocol(SSTP)、SSL VPN、EtherIP、L2TPv3、IPsec兼容。藉由L2TP/IPsec/OpenVPN,可以支持移动设备系统如iOS、安卓、微软Windows手机。SothEther自身的VPN客户端支持微软、Linux、Mac。支持其他VPN协定的VPN客户端和终端也可能会被使用;这包括了来自诸如思科、Juniper、Linksys(有DD-WRT)、Asus等等公司生产的各式各样的路由器。
VPN伺服器
SoftEther VPN伺服器和其他VPN伺服器一样,功能是接听来自客户端或桥接器使用各式协定的连线。
一个VPN伺服器可以有好几个虚拟的集线器和交换器。虚拟集线器和实体的交换器一样,有完整的第二层网路分组交换功能。此外,虚拟集线器能被配置来定义IP数据包过滤项目,过滤经过集线器的数据包。虚拟的Network layer层交换器则像实体的路由器一样,有第三层IP静态路由功能。
一个VPN伺服器可以有自带的桥接器。这个桥接器是一个在实体网路转接器和虚拟集线器之间的分组交换结构。系统管理员定义连线虚拟集线器和现有的内部网之间的桥接器,去创建一个远程访问的或站对站的VPN伺服器。
VPN客户端
SoftEther VPN客户端是个虚拟化的网路适配器。一个有安装客户端程式的计算机能创建与伺服器的连线。因为VPN伺服器支持多种VPN协定的关係,VPN用户并不需要在计算机上安装SofthEther VPN客户端,而是用内置在作业系统内的VPN客户端程式创建连线。然而,SoftEther VPN客户端比系统内置程式还多了些高级功能。想要充分利用SothEther VPN伺服器的全部性能的话,建议还是安装客户端程式。
VPN桥接器
SoftEther VPN桥接器是个创建站对站VPN的程式。要创建这样的VPN,系统管理员必须安装SoftEther VPN伺服器程式在中央计算机,然后要一个以上的远程计算机安装VPN桥接器。VPN桥接器会以级联连线连线中央VPN伺服器。级连连线类似在两个实体网路交换机之间,一个虚拟化的上行连线。
VPN伺服器微软版管理程式
这是个SoftEther VPN伺服器和桥接器会用到的图型化接口管理工具。系统管理员可用来连线远程的伺服器或桥接器并管理。连线使用了SSL,管理指令则用RPC在SSL上传输。
VPN命令行管理实用工具
vpncmd是个自定义接口管理工具,用在伺服器、客户端和桥接器上。它可以在所有支持的作业系统上运行。当有用户无法用Wine运行微软或Linux时,它可以转换到vpncmd来管理VPN。vpncmd也很适合用来运行批量操作,例如在虚拟集线器上创建好几个用户,或在伺服器上创建好几个虚拟集线器。
架构
SoftEther VPN某些部分的架构有别一般传统使用IPsec的VPN系统。
虚拟集线器
虚拟集线器就是以软体方式模拟网路交换机。它会更新和维持自身拥有的转发数据对照表。虽然传统的网路交换机将这功能做在硬体上,SoftEther VPN以软体实现了同样功能。一个VPN伺服器可以有好几个虚拟集线器,各自独立。VPN客户端和桥接端的连线就是以集线器用分组交换来处理。
当一个伺服器上有数个虚拟的集线器时,为了安全,这些集线器都会独立分开。各个不同的管理员可以对相应的虚拟集线器授予许可权。每个虚拟极限的管理员可以限定用户对象和ACLs,而这仅限于被授权的集线器上。
虚拟网路转接器
一个VPN客户端可以在自己的计算机上创立数个网路转接器。VPN用户能在虚拟网路转接器和远程目标的虚拟集线器间创建可用连线。当创建了可用连线,用户就能藉此和远程的VPN网路沟通。它可以让任何程式或作业系统不用特定设定就能使用,就和硬体版的使用方式一样。
虚拟交换机
它以软体方式模拟了IP路由器。一个伺服器上可以同时间创立好几个虚拟交换机。虚拟交换机有虚拟的IP接口连线虚拟集线器。它也有几个固定的对照表上的分配项目。
虚拟交换机也适合用来做大型的站对站VPN网路。虽然有个简单的方式可以达成,就是用桥接创建VPN,但如果有很多台计算机,输入站点间的连线的广播数据包数量就会大增。为了预防这样规模扩张的问题,VPN管理者用虚拟交换机来隔绝IP网路。
虚拟集线器之间的级联连线
管理员可以在地区或远程的虚拟集线器间定义一个级联连线。当级联连线被设立,原先独立的两个网段就被集成成一个了。所以这个级联连线功能被用来创建站对站的桥接。
虚拟集线器和网路间的地区桥接器
因为虚拟集线器和虚拟网路转接器都只是软体模拟的设备,藉此传送的数据包是无法和硬体设备沟通的。因此,需要一个模拟和实体设备之间的桥接,才能创建远程访问VPN或站对站VPN。要做出桥接,地区桥接器功能转会转换虚拟集线器和实体网路转接器间的数据包,结合两个独立网段成为一个单一的网段。
在VPN伺服器上定义过地区桥接器后,各VPN客户端就可以藉由地区桥接器,连到VPN伺服器并和其他网路上的设备沟通。这就是远程访问VPN。
如果网路管理者设立了远程站点VPN桥接器,并在VPN伺服器和VPN桥接器上分别定义了两个地区桥接,然后定义伺服器和桥接器间的级联连线,远程的两个网段在第二层级上就会直接连在一起。这就是站对站VPN。
防火墙,代理伺服器和NAT通透
SoftEther VPN一个很重要的特色就对防火墙的穿透性、代理伺服器和NATs。为此,SoftEther VPN支持SSL-VPN和NAT通透。它使用HTTPS协定来创建VPN通道。HTTPS用TCP/IP port 443 当作目的地。
多个SSL-VPN通道的平行传输机制
当用户选择SSL-VPN协定时,SlftEther VPN伺服器和客户端会用一套平行传输机制来改善SSL-VPN通道的吞吐量。用户可以从1到32设定一个数字为同时并发传输通道的数量。当处在一个网速非常慢的地方时,这项性能调整会导致更快的吞吐量。一旦这功能被激活,逻辑VPN连线将包含多个TCP(HTTPS)连线。所有的数据包将会在适当的TCP连线中,被加进最最佳化模组的运算。如果逻辑VPN连线的TCP连线侦测到数据包的丢失,新的数据包就使用其他正常的VPN连线。这项快速切换最最佳化的功能造就高吞吐量。
NAT通透
传统的VPN系统需要用户去请求公司的防火墙管理者,在防火墙或公司与网路间的NAT开放一个终端点(TCP或UD连线埠)。为了减少需要开放终端点的情形,SlftEther VPN伺服器有NAT通透功能。NAT通透会默认是启动状态。只要它启动,VPN客户端的计算机就能连线到被防火墙或NAT阻隔的VPN伺服器,不需要在防火墙或NAT上特别设定。
通过ICMP和DNS上的VPN
有少数限制很多的网路只允许通过ICMP或DNS的数据包。在这种情形,TCP或UDP会被滤掉。为了让SoftEther VPN也能在这种网路创建连线,SoftEther VPN有特别为此设计的VPN功能。
这功能对穿过这样严格的防火墙非常有用。所有的VPN数据包都再度包成ICMP或DNS数据包来传输。接收端会从外层提出内层的数据包。因为有些公共Wi-Fi只能通过ICMP或DNS数据包,这让在公共Wi-Fi也能使用VPN。如果你为了出门,安装一个伺服器在家中或办公室,你可以在限制网路中享受这自由协定的网路通信。
转载请注明出处海之美文 » SoftEther VPN