OpenVPN实际上是在应用层做的传输,传输协议可以选择UDP/TCP,其中UDP更为常用,原因有专门文章论述。
为何需要OpenVPN网络?
如果我想在家里访问单位的网络资源,VPN是个不错的选择,但一般来说,架设VPN需要有VPN服务器,也就是说至少需要有一个真实IP,这个并不是谁个人都有的. 但别忘了OpenVPN支持UDP传输,在BT大行其道的今天,UDP很多时候就是NAT穿透的代名词,那么,OpenVPN能不能也使用这种模式呢? 如果能,那将会解决不少问题,设想:
1.我是一个学生,我在写论文,但我目前不在学校,因而不能下载学校论文数据库的资料,老让同学下也不是办法,而且不方便,这样我可以考虑在学校任意电脑上开一个OpenVPN软件,然后让它穿越NAT对外提供服务,这样我就可以在校外网络上和学校里一样使用.
2.我是一个上班族,我想在家里做一些要在单位网络里才能完成的事情,但单位没有VPN或者有VPN但我没帐号,我可以在单位的工作机上放个OpenVPN然后回家接入再用,呵呵.
听起来不错,但如何实现呢? 这里我先说明一些技术前提: 你应该知道平常怎么配置OpenVPN,即有真实IP时候怎么配置,如果不了解,上GOOGLE搜索吧,文章很多.
处于防火墙或者NAT设备后面的主机想要对外提供服务,比如和其他同样处于不通网络NAT设备之后的主机通信,可以使用UDP打洞技术,这个细节网上也有很多文章讲,可以参考http://www.ppcn.net/n1306c2.aspx。
解决UDP穿越防火墙问题
在能使用UDP成功打洞之前,要先解决以下几个问题:
1.确认通信双方所处NAT的类型,NAT可以大致的分成两类: 锥形NAT和对称NAT(关于NAT的详细分类可以参考RFC3489第5节,那里分了4类,前三类归为锥形NAT,第4类为对称NAT). 做UDP穿透的一般原则是,锥形NAT之间可以做UDP穿透,而对称NAT不能,事实上,当一端为锥形一段为对称也是有可能的,但这不能保证,主要看对称NAT有没有规律可循。
如何确定自身的NAT类型呢? 可以利用STUN的客户端查看,软件可以从这里获取:
Linux版: http://sourceforge.net/projects/stun/
Java版(适用各种操作系统): http://jstun.javawi.de/
这些软件很好使用,比如Linux版的stun,编译好后运行 ./client stun01.sipphone.com 即可。Java版则直接双击jar文件执行,它会将结果记录在同目录的log文件里. 你只需要确认通信双方都不是对称NAT即可. 如果双方均为对称NAT那本文所描述的方法没有希望了. 如果查类型失败,这可能的原因有两种:
a.无法访问该STUN服务器,你可以试试后面STUN列表中的其他服务器,如果你是教育网用户且不能访问国外流量,那么暂时没有办法用,因为还没有找到国内的开放STUN服务器。
b.你所在网络的防火墙把UDP禁了,这种情况我见过,很变态,没有任何办法。
确认了两端NAT类型都不是对称NAT则继续往下看,否则希望不大,但也还有机会。
2.通信建立前需要通信双方告知对方自己经NAT设备转换后的IP/PORT,IP/PORT也可以通过STUN服务器得到,公网上有不少这种免费STUN服务,只是国内的很少见。
前两个问题归结一下,其实就是如何找到免费的STUN服务器,下面的列表是我试过能用的,但都在国外,这对教育网用户不是个好消息,国内的还在寻找中,也希望有人能提供线索。
stun01.sipphone.com
stun.ekiga.net
stun.fwdnet.net
stun.ideasip.com
stun.iptel.org
stun.rixtelecom.se
stun.schlund.de
stunserver.org
stun.softjoys.com
stun.voiparound.com
stun.voipbuster.com
stun.voipstunt.com
stun.voxgratia.org
stun.xten.com
3.现在已经能知道自己经NAT映射后的真实地址了,但如何才能告诉对方呢,目前广泛使用的BT应用中实际上都有一个中介服务器,但我们不会有,否则的话我直接就拿它做VPN服务器了。
解决这个问题有点麻烦,在我的这个例子里是用的GMail做交互,客户端注册一个GMail帐号,服务端注册一个GMail帐号,这样就有了一个速度很慢的管道,但至少能完成通信了,流程也就可以通了。
到了这里,能查自己的IP/PORT,有通信两端交互的管道,剩下的问题就是定一个简单的协议把这些真正的跑起来。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
VPN技术的发展将如何改变远程访问?
VPN(虚拟专用网络)已经存在一段时间了。在过去二十年中,随着VPN的发展,这项技术已经从方便远程访问的点对点连接技术,转变成为基于复杂安全性的多点连接。
-
无视IPv6连接?后果自负!
如果你无视IPv6在你网络的影响,你可能给你自己带来更大的伤害。此外,你还需要考虑的是,IPv6连接不只是“网络的事”。
-
不暴露才安全:飞鱼星视频监控安全解决之道
我们不能抑制企业远程访问内网的需求,也不能指望一串复杂密码保卫一切,那么,最行之有效的方法就是不给企业信息暴露在互联网的机会,要做到这点,企业只需采用具有VPN功能的网络设备。
-
一个优质的VPN:危险网络世界中的生存之道
在这个越来越危险的网络世界中,一个值得信赖的虚拟专用网络(VPN)比任何时候都来得重要。