本帖最后由 nihongliang 于 2017-5-5 23:12 编辑
前言:接触某公司快满一年了,尤其对某公司的ipsecvpn感觉特别不可思议,不知道有没有朋友这么觉得,以前接触的ipsecvpn都是一阶段二阶段啊,配各种参数,反正觉得还是蛮复杂的(ps:毕竟楼主太年轻,之前在甲方做运维,只配过过cisco h3c和forti的设备。
后来楼主混进了我们某公司上海的某家代理商),当时楼主刚到公司,第一个星期自己看ppt,然后自己拿设备出来玩,然后看到了我们sangfor的ipsecvpn,卧槽真是颠覆了楼主的三观,卧槽vpn建立可以这么简单?直接总部开个账户?分支填下用户名密码就可以建立vpn连接?太特么神奇了?为何会如此简单?怎么跟pptp这种方式差不多啊?而且还有单臂模式可以用,反正就是一句话,太不可思议了!!! ps:楼主是个喜欢bb的人,总是讲不到主题上(捂脸笑)
说到openvpn,linux下的开源软件,第一次接触到这个东西是去一个客户那边测试我们sslvpn设备,来顶替openvpn的服务器,当时很愉快的就测试好了,楼主对linux比较感兴趣,所以记下了openvpn这个名字。后来回到公司,自己找了台超融合上面装了台centos,网上找了关于如何安装openvpn的一些教程然后自己搭了一台自己使用,起初只是了解了皮毛的皮毛,大概知道openvpn的工作模式,选了一个网上大家常用的方法tun模式证书认证。装好openvpn后设备会多出一个tun0网卡出来,客户端安装软件通过证书认证接入进来然后通过tun0做转发去访问内网。
再回到sangfor ipsecvpn,在一次次的配置过程中,也稍微明白点sangforvpn的工作流程,我们sangfor有个vpn接口,一般都是自动生成的公网地址,之前也是不懂从客户端上traceroute后看到了一个公网地址吓了一跳(捂脸笑),当时客户也一震惊,哈哈哈后来咨询了400妹纸,稍微理解了点,数据都是通过vpntun去做转发,两边设备都是有个vpntun。后来慢慢的觉得两者总有相似之处(都是linux平台下),但当时只是当openvn做sslvpn去想,并没有想到ipsecvpn上。再后来觉得我们sangfor也是linux下的,如果在openvpn下,我的客户端是一台linux服务器,接上去后,再起一个接口,在这个接口下的机器是不是可以通过tun0去访问总部,这样不就和我们sangforvpn的模式一样了吗,前段时间刚好有些时间,就好好的再去网上找openvpn的资料,自己动手搭环境做实验,过了一遍觉得和我们sangforvpn还是相通的东西吧。
总结一些openvpn和sangforvpn的类似之处:
1.都只需要映射一个端口出去,就可以启用服务(这点真的很神奇)
2.都支持tcp和udp的模式
3.都是可以用用户密码认证
4.都是通过tun接口做转发
其实这些差不多就可以觉得他们的工作机制应该是一样的了吧,都是linux下的东西。(起码我是这么觉得,之前论坛里也发过疑问,大家也只是回答说是sangfor自己私有的协议,或者给我白皮书的链接,我也没敢问400,怕这是什么机密吧,我估计问的话也是让我去看ppt,学习如何配置就行了。哈哈哈)
最后一点在说下,虽然通过openvpn可以搭建点对点的vpn,或者sslvpn方式,瓶颈就在于tun网卡的性能,楼主亲测过,公司搭了台openvpn服务器,ping的话延迟都差不多,没什么区别。但开源的东西吧,总是需要自己亲手做,而且一个小小的功能就得花不少时间和精力,而且在搭建的过程中,楼主深深的觉得linux的东西真是好,但没有真正系统的去学习的话,搭建起来还是蛮费工夫的,像楼主这样到处网上翻资料(捂脸笑)。
最后最后再深深的佩服下某公司研发大牛们,真的很牛逼!界面上越简单的东西,源代码写的越多(大家有机会在400妹纸远程后,可以看看后台的东西,前提是别瞎搞,前提是别瞎搞,前提是别瞎搞,重要的事说三遍,稍微了解了解,觉得很有意思的,当我看到dlan的某个文件夹下的一些文件,卧槽一堆的脚本。。真心觉得建立一套东西是多么多么复杂,研发大牛们都给你做好了)搭建过程中深深感觉到,光一个iptables就懵比了,还有openvpn也有基于mysql和ldap的用户认证,卧槽文档好复杂,后面自己有空再去研究。
附件上分享下搭建的过程,觉得是模拟了sangfor vpn的功能,大家可以试一下,多了解点东西没坏处。 |