通过VPNC访问CISCO的VPN服务过程记录
来源:互联网 发布:淘宝店货款多久到账 编辑:程序博客网 时间:2024/06/15 15:24
Ø 背景:
公司需要在centos云主机上访问电信客户内部网络的代码,使用jenkins服务器把代码通过svn下载到本地,然后做静态代码检查和动态测试。
Ø 总结:
1、遇到云主机问题,如果在qq群里没有人解决,就发邮件到RD-Cloud-Service@asiainfo.com,可以得到更多的关注,问题也会有及时回复。给公司云主机集成服务部门点赞。
2、遇到问题不要陷入,不要丧失信心,打开思路,有些事情一开始思路就错了,通过电话支持,度娘等途径获取资源,佛家一棍棒喝醐醍灌顶指的就是点拨。
3、多学习,一叶蔽目不见泰山,有时一个小小坑就足以让人翻死在沟里了。
Ø 难点和解决思路:
1、没有使用vpnclient在Linux上部署过,之前部门使用vpnclient在window7上部署遇到过诸多问题,后面发现版本问题,折腾了许久才解决,此次部署会遇到什么困难一点底都没有。
思路1:下载linux版本的vpnclient部署(http://helpdesk.ugent.be/vpn/en/akkoord.php)
我的centos是CentOS Linux release7.2.1511 (Core) ,参考这个帖子(http://blog.csdn.net/my_vips/article/details/18707505),执行到编译步骤就废了,出现各种内核头文件缺少,尝试下载,修改路径,一路坎坷,死活编译不过,能力有限,看来这条路是走不通了。此时变换思路想,访问cisio难道就一定要vpnclient吗?赶紧度娘一把,发现可以使用vpnc,pptp等方式。
思路2:使用vpnc或pptp部署客户端访问vpn
vpnc安装参考这个帖子(http://www.cnblogs.com/xinus/p/centos_vpnc_conf.html),很顺利一步步都操作下来,启动服务执行vpnc,咔......,过了一分钟,返回了vpnc: no response from target,什么鬼?难道vpnc访问不了,把几个帖子都反复看了几遍,没有头绪,好吧,换pptp。
pptp安装参考这个帖子(http://blog.csdn.net/kuailedesky/article/details/41551077),发现ppp服务已经装上了,把pptpd和epel-release服务装上,参考着步骤搞下来,过程不想说了,结果还是一样,访问不通。静静喝杯茶开始思考人品了
思路3:如果linux端不行,通过windows2008系统总该可以了吧,(采用这个策略,需要通过异步同步代码,即通过win2008把代码从电信内网下载到本地,再上传到内网的svn服务器,jenkins服务器再去获取。这个策略是不得已才采用,因为中间有很多弊端,另外还要添加工作量开发异步同步代码的脚本)
把之前在window7上成功安装的vpnclient上传到window2008上部署上后,启动服务连接,返回了个412的错误,表示对端不通,把防火墙关闭,也不行,怪了,服务器IP可以ping通,但是服务无法提供,多半是端口的问题,使用netstat -ano和本地比对了端口使用,确实有差异,把两个环境再比较一遍,猜测问题就出在网络路由或防火墙端口限制上,通过qq咨询了云服务集成支持工程师,都没有给出解决办法。没辙了,把现象描述一把,整了个邮件发给云主机集成服务部门寻求支持,然后开始开发异步同步代码的脚本,等着回结果。
第二天周五早上过来打开邮箱,惊喜发现回复邮件了,果不其然,端口问题,赶紧把另外一台linux服务器的IP也一并添加,放开端口访问限制。等到当天下午回复端口都放开了,带着激动的心情再次尝试访问vpn服务,通了,通了,通了!linux 和 window2008都可以访问哈!
在Lab防火墙开放IP的对外IPsecVPN连接的端口:
Tcp 1721
Tcp 1723
Udp 500
Udp 4500
2、电信局方提供的vpn用户并行访问限制数=3,意味着jenkins服务器不能长时间连接vpnc占用有限的资源,而jenkins工程默认第一步都是执行源码更新,没法在工程执行前执行shell命令。
思路1、jenkins应该也是通过svn命令进行更新,如果尝试重定义svn命令,应该可以解决问题。
在jenkins用户下的.bash_profile文件里定义svn,判断如果访问电信IP则先拨通vpn服务,否则就默认直接使用vpn。修改完文件,在jenkins创建了个工程,启动工程后,发现没有生效。把工程执行过程日志翻出来看了下,发现jenkins是直接使用内置的svn插件,通过一个jar包调用实现,悲剧了,这步执行不通。
思路2、jenkins工程执行触发器可以通过工程与工程之间的关联进行依赖触发
先创建A工程,用来拨通vpn,然后触发B工程,B工程在更新完源码后,在第一步构建步骤中添加vpnc-disconnect命令,把vpn访问端口,这样就可以实现vpn资源使用最小化。
备注:直接使用jenkins用户是无法执行vpnc和vpnc-disconnect命令,需要使用sudo,但是sudo又需要输入root密码,这个问题可以通过在/etc/sudoers文件里添加如下两条命令,即jenkins通过sudo执行这两个命令可以不需要输入root密码。
jenkins ALL=NOPASSWD: /usr/sbin/vpnc
jenkins ALL=NOPASSWD: /usr/sbin/vpnc-disconnect
3、vpn一旦连上,受到路由限制,在外网就无法访问云主机。
一开始就担心vpn万一拨上去就无法通过外网访问云主机了(后来验证也确实存在这样的问题),在安装vpnclient前就先了云主机集成服务工程师通了电话咨询,后来给了思路,可以找个同网段的云主机,再用ssh或telnet访问。
- 通过VPNC访问CISCO的VPN服务过程记录
- Nokia N900 vpnc GUI for Cisco VPN
- Linux VPN Client for Cisco VPNs: vpnc
- mac|linux vpnc 连接cisco vpn配置文件
- Linux cisco vpn 客户端安装——VPNC篇
- Cisco网络设备搭建VPN服务器的全部过程
- vpnc ubuntu vpn代理服务器设置
- 记录一次使用DDNS通过域名访问服务器的过程
- kubuntu14.04下面vpn(vpnc)连接配置
- WEB服务访问的过程
- Cisco VPN
- vpnc
- 通过vpn访问oracle连接不上的问题解决!
- 可靠的网络连接通过Open VPN服务
- [亲测 vpn] ubuntu14.04下面vpn(vpnc)连接配置
- Cisco ASA防火墙SSL VPN的配置
- Cisco VPN Client 相关问题的解决办法
- Linux Cisco VPN的配置方法
- Android 6.0 运行时权限处理完全解析
- linux下搭建nexus提示then set the environment variable RUN_AS_USER=root
- 对象的创建
- QueryRunner类的主要方法
- 希尔排序
- 通过VPNC访问CISCO的VPN服务过程记录
- MIT线性代数 矩阵与高斯消元
- ubuntu 14.04上安装opencv 2.4.13
- 制作java小程序读取数据库并替换生成新的文本
- 使用TextInputLayout时,error信息为空白
- Struts旅程(六)Struts页面转发控制ActionForward和ActionMapping
- Sirqul 的一些研究使用总结以及介绍。
- QT--base20161125 layout嵌套使用
- Android基础面试题