精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-20
最后修改:2011-01-22
关键字:openvpn,nat,路由,windows2003,网关,自由切换 首先thanks god总算是搞定了,查了无数资料啊。 话说我在公网有一台服务器放在朋友的机房,此服务器北连网通,南接电信,高速互联啊。 现在有如下的需求:我在公司的svn服务器上的代码,需要连接到公司的svn服务器上经常更新;并且我还要偶尔的使用该服务器做vpn的代理,必须同时满足这两个条件。 开始使用了windows2003/2008的服务器,经过试验发现vpn服务开启之后,只能连接一个客户端,之前设置过可以多个用户同时连接,服务器崩溃之后从新安装,但是这次不知道哪里设的不对,第一个用户连接之后,其他客户端都连不上(这个问题哪位朋友知道为什么麻烦回帖告知一下),都停止在核对用户名和密码这个对话框上;最后不得已只得干掉windows自带的vpn,尝试了isa 2006的vpn,发现还是不行,一样的问题,只好改用openvpn。 说明一下:openvpn的证书,用户名和密码的问题不在此文讨论范畴内,同类文章google一下一大把。 服务器的配置: script-security 3 ca ca.crt ;server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt ;client-config-dir ccd #路由 keepalive 10 120 ;log openvpn.log # 0 is silent, except for fatal errors ========================================================== 客户端配置: client ============================================================ 我改了默认端口,并且用了tcp协议,这些都是可以配置的。主要是使用了tap并且用了桥接,tun模式我没搞太明白,tap相对容易理解点。 这样客户端和服务器端同时拨号上来就可以互访了。 下面是要让该服务器做网关,当你访问ip.cn这样的网址的时候,显示的是服务器的ip地址而不是你自己的,这里必须在client的配置文件里面打开 redirect-gateway def1 当然如果你只想获得额外访问虚拟的能力而访问公网还是走本地,就在客户端把这行注释掉。这个地方的好处是客户端决定是否走服务器代理;如果这一句被配置在server的配置文件里面,那就是无论如何都会走服务器的网络了。 下面涉及到最关键的地方,怎么让这个子网能够通过服务器走公网从而起到加速作用呢?这里必须在windows 2003上做两件事情,第一打开ip转发,第二是开启nat服务。 以前我一直以为开启了nat服务ip转发就自动生效了,其实不然。 参考这两篇帖子设置注册表打开ip转发功能: ---------------------------------------------------------------------------------------------------------- 如何在 Windows XP 中启用 TCP/IP 转发 ---------------------------------------------------------------------------------------------------------- 打开ip转发之后,在2003的服务管理器里面打开nat功能,让公网的接口做nat,当然记得关闭防火墙或者添加例外,否则1001端口是无法访问的。 现在经过这样的配置之后,就可以自由切换网络了。 不得不说openvpn的确很灵活,就像官网上说的"smart",这个词用的还是很贴切的。不过前提是你得明白网络。
2011.01.22补充:Win7下,如果打开了UAC,要想通过服务器上网,一定让openvpn-gui以管理员启动,否则无法执行route add命令。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 6532 次