[ 2004/11/01 22:56 | by 网络毛毛虫 ]
|
2003年12月底,日本一名19岁的大学生在自己的主页上公布了一款免费网络软件——SoftEther。该软件是由两部分所组成:一为虚拟HUB,一为虚拟网卡。你可以在天极的mydown下载到这个软件。
采访实录
SoftEther软件作者是日本筑波大学一年级新生登大遊。虽说他是独立构思、设计、开发、维护此软件,可另一方面也受到了日本经济产业部下辖部门——情报处理振兴事业协会(以下简称IPA)的赞助。该软件巧妙利用了“EtherNet over TCP的隧道+HTTPS实现物理传输”技术,算是开创了VPN软件应用的先河。最近,本报记者通过E-mail联系到了该款软件的作者,并就中国用户所关心的一些问题对他进行了采访。
本报记者问:SoftEther是一款VPN软件,你在主页上说你开发这款软件的目的是为了“让普通用户更自由地使用网络,而不受过多的限制”。现在我们看到,完成后的SoftEther和传统的VPN软件相比而言,其特点是“EtherNet over TCP的隧道技术 + HTTPS实现物理传输”。这样巧妙的想法,你是如何构思出来的?
登大遊答:传统的隧道技术(PPTP L2TP/IPsec)之类的协议,是使用GRE/IPsec这样特殊的IP数据包来实现通讯。但这样的数据包,很难通过NAT、防火墙或路由器。而当前的现实是,从公司内部访问Internet时,在大多场合下必须通过代理服务器。这样一来,传统的VPN系统就完全无法发挥其效力了。由此,我觉得有必要设计一种在这种受限制的网络环境中,也能构筑虚拟网络的软件。
本报记者问:SoftEther这类思路的软件,今后应该会有很大的应用前途。登先生能否为我们描述一下你所期待的前景?
登大遊答:SoftEther是一个谁都可以轻松上手的软件,用途用法也很广泛,比如个人用户可以用它在家庭之间构筑VPN,这样就可以彼此安全地共享文件;也可以玩那些从前只有在局域网上才能跑的网络游戏……
而且,因为SoftEther可以支持SSL,所有通讯内容都被很好地加密。从而企业用户也可以安心地用它在各地分支机构之间构筑VPN,甚至完全取代公司现有的内部局域网。据我了解,日本已经有一些公司开始在实践了!
本报记者问:SoftEther的源代码,以及虚拟HUB和虚拟网卡之间所使用的通讯协议,是否有公开的打算?现在除了公开的Windows版之外,是否有Linux版的开发计划?
登大遊答:由于现在在与IPA间的合同上有些限制,所以暂时还不能公开源代码。但我还是考虑在未来适当时候把代码放出来的;至于虚拟网卡和虚拟HUB之间使用的通讯协议,我打算最晚今年3月就完全公开出来!至于Linux/FreeBSD版的问题,现在我可以告诉大家,筑波大学的一些朋友正在开发。
本报记者问:这个软件大大增加了网络用户的自由度,但同时也给网络管理带来了新的难度。请问,网络管理员如何才能防止局域网内未经许可地乱用SoftEther呢?
登大遊答:防火墙可以从连接的目标主机那里检测到标示SoftEther的“SoftEther Protocol”字符串,用它就可以发现谁正在使用SoftEther。
我也是一名网管,今后我还会开发一个可以检测局域网中是否有人使用SoftEther的软件。
本报记者问:我们了解到,SoftEther的开发,得到了IPA的赞助。请问具体是怎样形式的赞助呢?现在回顾起来,这样的官方援助对于个人开发软件是否有益处?
登大遊答:IPA会对其“创造前人未曾尝试软件”项目进行赞助(译注:SoftEther也是2003年度受赞助对象),每个项目一年可以得到最多300万日元(约合人民币23万元)的预算。
但就算在日本,“创造前人未曾尝试软件”这类官方赞助也不过独此一家,真希望今后这类的赞助项目能够多起来。
技术原理
为何说它特别?先让我们来看看它的工作方式和原理:用户下载安装软件后,可以根据自己的需要,选择安装虚拟网卡或虚拟HUB,当然,也可以两者一起安装。
虚拟网卡是这个软件的客户端,负责把要传输的通讯内容,转换成只有本软件才能识别的格式,然后发送给虚拟HUB;而虚拟HUB则是这个软件的服务器端,负责接收虚拟网卡传来的特别格式的数据,然后还原为原始的通讯内容,并送回到物理的网络世界中。
如果再说具体一些,其技术实现就是用软件模拟OSI网络模型第二层(数据链路层)以上的工作机制,把物理通讯内容封包到TCP数据包中发送。
优势所在
由于该软件使用了隧道(Tunnel)技术,可以把本地的网络操作封包,通过TCP协议(HTTPS)传输到远方,并在那里复原成原来的网络操作。这样,就可以把在物理上相隔遥远的局域网通过软件虚拟地连接在一起。
其次,由于虚拟网卡和虚拟HUB之间的物理通讯使用了HTTPS协议,因此在网络传输过程中,可以有效地避开防火墙、NAT、路由器的拦截;同时,SSL加密也在很大程度上为通讯本身提供了安全保障。
软件的作者在谈及他开发SoftEther的过程时,也介绍了为何要使用Ethernet over TCP这种特别的隧道Tunnel技术。开发之初,他最先尝试的是TCP over TCP技术,但实践结果表明,由于TCP over TCP协议的缺陷,使得传输效率很低。在百兆网络里,用虚拟网络测试速度,居然只有500Kbps。
最后作者下决心改用Ethernet over TCP,并利用运行在Windows内核模式的虚拟网卡程序把数据链路层的通讯内容封包到TCP,传给远方的虚拟HUB,这种方式使得通讯效率大为提高。
据软件作者测试,通过现在的SoftEther所构筑的虚拟网络进行传输测试,其效率大概能相当于物理网络传输速度的80%~90%。
下面让我们用几个实例来了解其威力!
实际案例
通过Internet的连接构筑虚拟的LAN环境
很多类似CS这样的游戏对LAN环境的要求远远低于Internet环境。这时候,如果我们利用这个软件,在Internet玩家之间虚拟出一个LAN来,岂不是可以随心所欲了么?
具体操作很简单,只要各个玩家都装上SoftEther,并配置成为虚拟网卡;然后在一台大家都访问得到的机器上,安装SoftEther并配置成虚拟HUB,就大功告成了。接通后大家仿佛都在一个LAN之内,而实际上,也许其中有人是拨号上网,有人是宽带连接,甚至有人还可能是从公司防火墙后面连接过来的……
在图1中,PC2/PC3/PC4就可以通过虚拟出来的网卡连接PC1上虚拟出来的HUB,并分别设定相应的IP地址,从而能实现在虚拟LAN下互相沟通的目的。
[img align=F]http://www.cseek.com/image20010518/112422.gif[/img]
这样一来,PC1上运行CS服务器,PC2/PC3/PC4无论原来的物理连接类型如何,都可以仿佛在一个LAN中一样,通过虚拟网卡直接连接到PC1了!
打破防火墙(对内)的限制自由地访问外面的世界
有时候,我们想要在公司的LAN中使用ICQ类的程序联络客户,却发现由于公司的网络没有开放相应的端口,使得ICQ无法正常工作。
没关系,此时不用劳网管大驾,只要你们那里可以用HTTPS访问外面,就可以让SoftEther来满足你的需要。
此时,大家仅仅需要安装SoftEther,并配置成一块虚拟网卡,然后连接Internet上有访问ICQ自由的任何一台虚拟HUB;连接通了,你那台在防火墙限制下的机器,也就可以立即使用从前受限制的各种功能了!
如图2所示,公司LAN内受到各种限制。但只要能够使用HTTP/HTTPS协议访问Internet,就可以连接到一台能够进行ICQ操作的虚拟HUB上去。一旦你的虚拟网卡与远方的虚拟HUB建立起连接(此时自己的PC上就有了两张网卡一块物理网卡、一块虚拟网卡,都处于连通状态),无论是ICQ/QQ/MSN,还是FTP/Telnet/IRC……由于模拟出来的是虚拟LAN环境,因此就算是要求再苛刻的局域网游戏软件,通过这种方法就可以畅通无阻访问外面。
[img align=F]http://www.cseek.com/image20010518/112423.gif[/img]
打破防火墙(对外)的限制从家中访问办公室里受防火墙保护的机器
如今,SOHO一族越来越多,对于IT界的朋友来说,“办公室”和“家”仅凭字面意思,已经越来越难以区分其功能界限了。如果说在办公室想要访问自家的计算机资源,还算是有点办法的话;在家里访问被各类防火墙防护得森严之至的办公室的计算机资源,恐怕就是接近于痴心妄想了。可是有了SoftEther,不仅从家里访问办公室自己电脑成为了可能,就连访问办公室的整个LAN,也不再是什么难事了!
你只要在办公室的机器和家中的机器上分别安装SoftEther,并配置成为虚拟网卡;然后在一台从办公室和从家里都能访问到的机器上,安装SoftEther并配置成虚拟HUB,就大功告成了。接下来,从办公室和家中分别用自己装好的虚拟网卡,去连接那台配置好的公共虚拟HUB;接通后两台机器上都可以看到虚拟网卡“活了”,和普通的物理网卡一般无二的运作。
如图3所示,你试图从家里访问办公室整个LAN的话,只要在办公室那台机器上,待与虚拟HUB接通后,把虚拟出来的网卡与物理网卡桥接,即可!
网卡的桥接,在WinXP上简直就是举手之劳。但如此一来,原本被防火墙设备严密保护起来的公司局域网,就会被神不知鬼不觉地打开了一个缺口。经由SoftEther的虚拟网络进入公司局域网的通讯内容,由于得到SSL加密的强力保护,根本无法由防火墙检测到通讯内容是否有害。就算是病毒由此侵入,木马软件从此渠道流入,防火墙都无法发现!因此,不当的使用这一功能,会对现有公司网络安全构成重大隐患。
一把双刃剑
作者在公开该软件7天后,就受到了IPA的强烈“呼吁”,要求暂停此软件的下载。理由很有趣:IPA本身正是负责日本网络安全的政府机构,而某些公司/地方政府向IPA抱怨说:“SoftEther的公布,会使现有的网络安全产生严重的漏洞。”面临压力,IPA也只得向软件作者要求暂停……
但作者认为当初参加IPA举办的活动评选时,早就把创作思路说得清清楚楚。那时候IPA不表示反对,并签了赞助合同,现在眼看合约要履行完毕了,IPA却来反悔,岂不太过分?公说公有理,婆说婆有理,于是双方找来了若干懂行的专家分析,也得出结论:SoftEther原理上和VPN软件没有本质的区别,没有理由禁止其开发和公开下载,只是在使用上需要加以引导……
实际上也的确如此,它就像一把刀一样,你可以用刀做坏事,也可以用刀做好事;做坏事的时候,受谴责的不应该是刀,而是背后使刀的人。SoftEther软件不也正和这个例子里的刀一样么?
于是,该软件下载中止了3天后,又重新对外开放了!经历这么一波三折的变故,SoftEther及其作者反而变得更加有名。日本IT界知名媒体几乎都曾大篇幅地报道了这个软件掀起的风波。
编后
通过对SoftEther这款软件作者登大遊先生的采访,我们深刻感受到这款另类软件对现有网络的冲击是何等的强烈。SoftEther里所使用的技术,并不是什么独创;甚至软件的实现,也许同样不是领先。但它的公布,对现有VPN软件市场将形成很大的冲击,一些实现类似功能却向客户收取高额服务费用的厂商,将无可避免地面临沉重的打击。
与此同时,生产防火墙软硬件的厂商,也会遇上一个老大难的问题。SoftEther这样堂而皇之把通讯内容隐藏到HTTPS协议里面,为现有防火墙产品所无法识别。虽然作者本人好意地在通讯时故意留下了“SoftEther Protocol”这样的破绽,可以让防火墙厂商暂时利用一下,但随着SoftEther的进一步公开源代码,这样的破绽将很容易被取消,届时又将如何?
SoftEther带来的另一个巨大影响,自然就是对网络管理员们而言了。有了SoftEther,网络用户可以说是如鱼得水;而管理员们如何制定相应的管理策略,如何有效地执行管理,这也是今后网管们需要仔细思考的课题。
采访实录
SoftEther软件作者是日本筑波大学一年级新生登大遊。虽说他是独立构思、设计、开发、维护此软件,可另一方面也受到了日本经济产业部下辖部门——情报处理振兴事业协会(以下简称IPA)的赞助。该软件巧妙利用了“EtherNet over TCP的隧道+HTTPS实现物理传输”技术,算是开创了VPN软件应用的先河。最近,本报记者通过E-mail联系到了该款软件的作者,并就中国用户所关心的一些问题对他进行了采访。
本报记者问:SoftEther是一款VPN软件,你在主页上说你开发这款软件的目的是为了“让普通用户更自由地使用网络,而不受过多的限制”。现在我们看到,完成后的SoftEther和传统的VPN软件相比而言,其特点是“EtherNet over TCP的隧道技术 + HTTPS实现物理传输”。这样巧妙的想法,你是如何构思出来的?
登大遊答:传统的隧道技术(PPTP L2TP/IPsec)之类的协议,是使用GRE/IPsec这样特殊的IP数据包来实现通讯。但这样的数据包,很难通过NAT、防火墙或路由器。而当前的现实是,从公司内部访问Internet时,在大多场合下必须通过代理服务器。这样一来,传统的VPN系统就完全无法发挥其效力了。由此,我觉得有必要设计一种在这种受限制的网络环境中,也能构筑虚拟网络的软件。
本报记者问:SoftEther这类思路的软件,今后应该会有很大的应用前途。登先生能否为我们描述一下你所期待的前景?
登大遊答:SoftEther是一个谁都可以轻松上手的软件,用途用法也很广泛,比如个人用户可以用它在家庭之间构筑VPN,这样就可以彼此安全地共享文件;也可以玩那些从前只有在局域网上才能跑的网络游戏……
而且,因为SoftEther可以支持SSL,所有通讯内容都被很好地加密。从而企业用户也可以安心地用它在各地分支机构之间构筑VPN,甚至完全取代公司现有的内部局域网。据我了解,日本已经有一些公司开始在实践了!
本报记者问:SoftEther的源代码,以及虚拟HUB和虚拟网卡之间所使用的通讯协议,是否有公开的打算?现在除了公开的Windows版之外,是否有Linux版的开发计划?
登大遊答:由于现在在与IPA间的合同上有些限制,所以暂时还不能公开源代码。但我还是考虑在未来适当时候把代码放出来的;至于虚拟网卡和虚拟HUB之间使用的通讯协议,我打算最晚今年3月就完全公开出来!至于Linux/FreeBSD版的问题,现在我可以告诉大家,筑波大学的一些朋友正在开发。
本报记者问:这个软件大大增加了网络用户的自由度,但同时也给网络管理带来了新的难度。请问,网络管理员如何才能防止局域网内未经许可地乱用SoftEther呢?
登大遊答:防火墙可以从连接的目标主机那里检测到标示SoftEther的“SoftEther Protocol”字符串,用它就可以发现谁正在使用SoftEther。
我也是一名网管,今后我还会开发一个可以检测局域网中是否有人使用SoftEther的软件。
本报记者问:我们了解到,SoftEther的开发,得到了IPA的赞助。请问具体是怎样形式的赞助呢?现在回顾起来,这样的官方援助对于个人开发软件是否有益处?
登大遊答:IPA会对其“创造前人未曾尝试软件”项目进行赞助(译注:SoftEther也是2003年度受赞助对象),每个项目一年可以得到最多300万日元(约合人民币23万元)的预算。
但就算在日本,“创造前人未曾尝试软件”这类官方赞助也不过独此一家,真希望今后这类的赞助项目能够多起来。
技术原理
为何说它特别?先让我们来看看它的工作方式和原理:用户下载安装软件后,可以根据自己的需要,选择安装虚拟网卡或虚拟HUB,当然,也可以两者一起安装。
虚拟网卡是这个软件的客户端,负责把要传输的通讯内容,转换成只有本软件才能识别的格式,然后发送给虚拟HUB;而虚拟HUB则是这个软件的服务器端,负责接收虚拟网卡传来的特别格式的数据,然后还原为原始的通讯内容,并送回到物理的网络世界中。
如果再说具体一些,其技术实现就是用软件模拟OSI网络模型第二层(数据链路层)以上的工作机制,把物理通讯内容封包到TCP数据包中发送。
优势所在
由于该软件使用了隧道(Tunnel)技术,可以把本地的网络操作封包,通过TCP协议(HTTPS)传输到远方,并在那里复原成原来的网络操作。这样,就可以把在物理上相隔遥远的局域网通过软件虚拟地连接在一起。
其次,由于虚拟网卡和虚拟HUB之间的物理通讯使用了HTTPS协议,因此在网络传输过程中,可以有效地避开防火墙、NAT、路由器的拦截;同时,SSL加密也在很大程度上为通讯本身提供了安全保障。
软件的作者在谈及他开发SoftEther的过程时,也介绍了为何要使用Ethernet over TCP这种特别的隧道Tunnel技术。开发之初,他最先尝试的是TCP over TCP技术,但实践结果表明,由于TCP over TCP协议的缺陷,使得传输效率很低。在百兆网络里,用虚拟网络测试速度,居然只有500Kbps。
最后作者下决心改用Ethernet over TCP,并利用运行在Windows内核模式的虚拟网卡程序把数据链路层的通讯内容封包到TCP,传给远方的虚拟HUB,这种方式使得通讯效率大为提高。
据软件作者测试,通过现在的SoftEther所构筑的虚拟网络进行传输测试,其效率大概能相当于物理网络传输速度的80%~90%。
下面让我们用几个实例来了解其威力!
实际案例
通过Internet的连接构筑虚拟的LAN环境
很多类似CS这样的游戏对LAN环境的要求远远低于Internet环境。这时候,如果我们利用这个软件,在Internet玩家之间虚拟出一个LAN来,岂不是可以随心所欲了么?
具体操作很简单,只要各个玩家都装上SoftEther,并配置成为虚拟网卡;然后在一台大家都访问得到的机器上,安装SoftEther并配置成虚拟HUB,就大功告成了。接通后大家仿佛都在一个LAN之内,而实际上,也许其中有人是拨号上网,有人是宽带连接,甚至有人还可能是从公司防火墙后面连接过来的……
在图1中,PC2/PC3/PC4就可以通过虚拟出来的网卡连接PC1上虚拟出来的HUB,并分别设定相应的IP地址,从而能实现在虚拟LAN下互相沟通的目的。
[img align=F]http://www.cseek.com/image20010518/112422.gif[/img]
这样一来,PC1上运行CS服务器,PC2/PC3/PC4无论原来的物理连接类型如何,都可以仿佛在一个LAN中一样,通过虚拟网卡直接连接到PC1了!
打破防火墙(对内)的限制自由地访问外面的世界
有时候,我们想要在公司的LAN中使用ICQ类的程序联络客户,却发现由于公司的网络没有开放相应的端口,使得ICQ无法正常工作。
没关系,此时不用劳网管大驾,只要你们那里可以用HTTPS访问外面,就可以让SoftEther来满足你的需要。
此时,大家仅仅需要安装SoftEther,并配置成一块虚拟网卡,然后连接Internet上有访问ICQ自由的任何一台虚拟HUB;连接通了,你那台在防火墙限制下的机器,也就可以立即使用从前受限制的各种功能了!
如图2所示,公司LAN内受到各种限制。但只要能够使用HTTP/HTTPS协议访问Internet,就可以连接到一台能够进行ICQ操作的虚拟HUB上去。一旦你的虚拟网卡与远方的虚拟HUB建立起连接(此时自己的PC上就有了两张网卡一块物理网卡、一块虚拟网卡,都处于连通状态),无论是ICQ/QQ/MSN,还是FTP/Telnet/IRC……由于模拟出来的是虚拟LAN环境,因此就算是要求再苛刻的局域网游戏软件,通过这种方法就可以畅通无阻访问外面。
[img align=F]http://www.cseek.com/image20010518/112423.gif[/img]
打破防火墙(对外)的限制从家中访问办公室里受防火墙保护的机器
如今,SOHO一族越来越多,对于IT界的朋友来说,“办公室”和“家”仅凭字面意思,已经越来越难以区分其功能界限了。如果说在办公室想要访问自家的计算机资源,还算是有点办法的话;在家里访问被各类防火墙防护得森严之至的办公室的计算机资源,恐怕就是接近于痴心妄想了。可是有了SoftEther,不仅从家里访问办公室自己电脑成为了可能,就连访问办公室的整个LAN,也不再是什么难事了!
你只要在办公室的机器和家中的机器上分别安装SoftEther,并配置成为虚拟网卡;然后在一台从办公室和从家里都能访问到的机器上,安装SoftEther并配置成虚拟HUB,就大功告成了。接下来,从办公室和家中分别用自己装好的虚拟网卡,去连接那台配置好的公共虚拟HUB;接通后两台机器上都可以看到虚拟网卡“活了”,和普通的物理网卡一般无二的运作。
如图3所示,你试图从家里访问办公室整个LAN的话,只要在办公室那台机器上,待与虚拟HUB接通后,把虚拟出来的网卡与物理网卡桥接,即可!
网卡的桥接,在WinXP上简直就是举手之劳。但如此一来,原本被防火墙设备严密保护起来的公司局域网,就会被神不知鬼不觉地打开了一个缺口。经由SoftEther的虚拟网络进入公司局域网的通讯内容,由于得到SSL加密的强力保护,根本无法由防火墙检测到通讯内容是否有害。就算是病毒由此侵入,木马软件从此渠道流入,防火墙都无法发现!因此,不当的使用这一功能,会对现有公司网络安全构成重大隐患。
一把双刃剑
作者在公开该软件7天后,就受到了IPA的强烈“呼吁”,要求暂停此软件的下载。理由很有趣:IPA本身正是负责日本网络安全的政府机构,而某些公司/地方政府向IPA抱怨说:“SoftEther的公布,会使现有的网络安全产生严重的漏洞。”面临压力,IPA也只得向软件作者要求暂停……
但作者认为当初参加IPA举办的活动评选时,早就把创作思路说得清清楚楚。那时候IPA不表示反对,并签了赞助合同,现在眼看合约要履行完毕了,IPA却来反悔,岂不太过分?公说公有理,婆说婆有理,于是双方找来了若干懂行的专家分析,也得出结论:SoftEther原理上和VPN软件没有本质的区别,没有理由禁止其开发和公开下载,只是在使用上需要加以引导……
实际上也的确如此,它就像一把刀一样,你可以用刀做坏事,也可以用刀做好事;做坏事的时候,受谴责的不应该是刀,而是背后使刀的人。SoftEther软件不也正和这个例子里的刀一样么?
于是,该软件下载中止了3天后,又重新对外开放了!经历这么一波三折的变故,SoftEther及其作者反而变得更加有名。日本IT界知名媒体几乎都曾大篇幅地报道了这个软件掀起的风波。
编后
通过对SoftEther这款软件作者登大遊先生的采访,我们深刻感受到这款另类软件对现有网络的冲击是何等的强烈。SoftEther里所使用的技术,并不是什么独创;甚至软件的实现,也许同样不是领先。但它的公布,对现有VPN软件市场将形成很大的冲击,一些实现类似功能却向客户收取高额服务费用的厂商,将无可避免地面临沉重的打击。
与此同时,生产防火墙软硬件的厂商,也会遇上一个老大难的问题。SoftEther这样堂而皇之把通讯内容隐藏到HTTPS协议里面,为现有防火墙产品所无法识别。虽然作者本人好意地在通讯时故意留下了“SoftEther Protocol”这样的破绽,可以让防火墙厂商暂时利用一下,但随着SoftEther的进一步公开源代码,这样的破绽将很容易被取消,届时又将如何?
SoftEther带来的另一个巨大影响,自然就是对网络管理员们而言了。有了SoftEther,网络用户可以说是如鱼得水;而管理员们如何制定相应的管理策略,如何有效地执行管理,这也是今后网管们需要仔细思考的课题。