【原创】WINXP ICS+OPENVPN服务器的架设
关键字: WINXPICSOPENVPNVPNOPENVPN 简介:
OpenVPN是一款功能强大,可跨平台(支持Win 2000/XP/2003, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, 和 OpenBSD)使用的SSL VPN服务器软件(具体说明见官方主页官方主页)。
相信大家对SOFTETHER ,虚拟HUB已经不算陌生了吧,那么OPENVPN又是什么呢?你可以这样认为,OPENVPN跟虚拟HUB的功能是一样的。
openvpn-2.0.5-gui-1.0.3版,下载地址 http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe
架设OPENVPN的理由: 说到架设OPENVPN的理由,得首先说一下架设VPN的理由,架设VPN,很重要的应用就是突破代理服务器的封锁。 架设虚拟HUB跟OPENVPN现在对论坛上一部分网友有一个很重要的应用就是手机无线上网。这些,我就不多说了。
有了虚拟HUB,为什么还要搞OPENVPN呢,一方面,这是一个选择,另一方面,经过试验,很多网友反应OPENVPN比虚拟HUB要稳定。 第一步:安装openvpn
这一部分是服务端跟客户端都要做的工作,操作完全相同
双击 openvpn-2.0.5-gui-1.0.3-install1.exe进行安装,点击
NEXT,I Agree,NEXT之后开始选择安装路径,我手动修改为C:\OpenVPN 。
点击 Install 开始安装,安装过程中,弹出 硬件安装窗口,点击仍然继续,安装虚拟
网卡。点击 next,Finish 完成安装。 OPENVPN安装 OPENVPN安装 OPENVPN安装 服务器配置:
说明: 架设OPENVPN服务器,服务器方面做的工作比较多,客户端相对来说就比较简单。
服务器采用RSA证书和密钥验证方式对客户端进行验证,默认情况下证书和用户是一对一的,
多个用户使用同一证书会被踢出。所以首先要做的工作就是证书的制作。
在进行操作之前,首先进行初始化工作:
修改C:\OpenVPN\easy-rsa\vars.bat.sample的以下部分
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=FortFunston
set KEY_EMAIL=mail@host.domain
(请根据自身情况修改)改为
set HOME=c:\OpenVPN\easy-rsa
set KEY_COUNTRY=CN #(国家)
set KEY_PROVINCE=ShanDong #(省份)
set KEY_CITY=WeiFang #(城市)
set KEY_ORG=51NB #(组织)
set KEY_EMAIL=sangguowei2002@yahoo.com.cn#(邮件地址)
上面#开始的是注释,请不要写到文件中。
打开命令提示符:
开始-->运行...-->键入cmd,回车,进入命令提示符
或者 开始-->程序-->附件-->命令提示符
进入openvpn\easy-rsa目录。
命令如下:
c: 回车
cd \openvpn\easy-rsa 回车
init-config
vars
clean-all 上面是初始化工作,以后,在进行证书制作工作时,仍旧需要进行初始化,
但只需要进入openvpn\easy-rsa目录,运行vars就可以了,不需要上面那些
步骤了 。
下面开始证书的制作:
(生成根证书 :build-ca)
build-ca
build-dh 图片附件 下面生成服务端密钥
build-key-server server 好像我们公司用的是check point的vpn,还有一个动态密码卡,不知有何区别?
沙发?!! 下面这个截图跟上面本来是一块的,一屏显示不过来,所以截成了两部分。 再下面生成客户端密钥
build-key client 下面这个截图跟上面本来是一块的,一屏显示不过来,所以截成了两部分。 生成的密钥存放于openvpn\easy\rsa\keys目录下 接下来开始配置服务器
将生成的ca.crt,dh1024.pem,server.crt,server.key复制到c:\OpenVPN\KEY目录下
这四个文件是服务端运行所需要的文件。
ca.crt client.crt client.key 是客户端所需要的文件。 在\OpenVPN\config目录下创建server.ovpn文件,可以打开记事本,把内容写进去之后,
再另存为server.ovpn文件就行。
服务器端文件示例:
server.ovpn
port 443 # 端口号,根据需要,自行修改,如果是用http代理连接,请不要修改
proto tcp-server
dev tun
server 192.168.0.0 255.255.255.0 # 虚拟局域网网段设置,请根据需要自行修改
keepalive 20 180
ca c:\\OPENVPN\\KEY\\ca.crt #CA证书存放位置,请根据实际情况自行修改
cert c:\\OPENVPN\\KEY\\server.crt #服务器证书存放位置,请根据实际情况自行修改
key c:\\OPENVPN\\KEY\\server.key #服务器密钥存放位置,请根据实际情况自行修改
dh c:\\OPENVPN\\KEY\\dh1024.pem #dh1024.pem存放位置,请根据实际情况自行修改
push "redirect-gateway def1"
push "dhcp-option DNS 202.102.128.68" #DNS,请根据实际情况自行修改
mode server
tls-server
status c:\\OpenVPN\\log\\openvpn-status.log#LOG记录文件存放位置,请根据实际情况自行修改
comp-lzo
verb 4 做完上面的工作之后,openvpn在服务器方面的配置工作基本上就完成了。接下来,我们需要做的工作是
开启XP的ICS,允许OPENVPN虚拟局域网用户可以通过服务器共享上网。
开启XP的ICS这一步,是非常难搞的一步,虽然操作相当简单,但操作不当会导致失败,如果以前,你在服务器上面运行过网络安装向导(开始--程序--附件--通讯--网络安装向导)
或者开启过ICS都有可能导致OPENVPN客户端无法连接服务器,或者连接服务器之后无法通过服务器上网。
解决办法是: 删除系统中存在的所有网卡,包括真实网卡和虚拟网卡,重新启动计算机之后,重新添加
所有的网卡,然后,再开启ICS。
开启ICS的方法如下:
打开网上邻居属性(右单击桌面上的网上邻居选属性或者打开 控制面板,双击网络连接),在连接internet的'本地连接'上,点击鼠标右建,选择'属性',
打开'高级'选项卡,在 'Internet 连接共享---允许其他网络用户通过此计算机的Internet连接来连接'选项上打上对勾,
在'家庭网络连接'选项中选择 openvpn虚拟网卡,点击确定即可。
我的网络环境是 ADSL拨号上网,所以,操作方法就是在'拨号连接'上点击右键,选'属性',然后打开
'高级'选项卡,在 'Internet 连接共享---允许其他网络用户通过此计算机的Internet连接来连接'选项上打上对勾,
在'家庭网络连接'选项中选择 openvpn虚拟网卡,点击确定即可。
在开启ICS之后,默认情况下,openvpn虚拟网卡的ip地址被设置为192.168.0.1 ,如果你想改变它,请在
开启ICS之后,更改虚拟网卡的IP地址。虚拟网卡的IP地址改变之后,请注意修改 server.ovpn中的虚拟
局域网网段设置。
接下来,右单击桌面右下角 openvpn-gui.exe的程序图标,单击 connect 进行连接,连接成功之后,
服务端就设置完毕并正常运行了。 启用ICS。 客户端设置:
在客户端安装完成之后,需要将 ca.crt client.crt client.key 这三个文件拷贝到 openvpn\key目录下
,这三个文件由服务端生成,所以,连接谁的服务器,就需要跟谁索取这三个文件
然后,编辑一个 client.ovpn的配置文件存放到 openvpn\config目录下,客户端就可以进行连接了。
客户端文件示例:
client.ovpn
client
dev tun
proto tcp-client
remote sgw888.3322.org 443 #服务器域名跟端口
resolv-retry infinite
nobind
http-proxy 10.0.0.172 80 #这里填入你的代理服务器地址和端口
mute-replay-warnings
ca c:\\OPENVPN\\KEY\\ca.crt
cert c:\\OPENVPN\\KEY\\client.crt #这里改成每个客户端相应的证书
key c:\\OPENVPN\\KEY\\client.key #这里改成每个客户端相应的密钥
comp-lzo
verb 4
status openvpn-status.log 送NB,谢谢! 声明: 本文绝大部分参考了专门网网友 fangzy 写的帖子 【原创】Windows下的OpenVPN服务器配置
里面很多东东,都是直接复制过来的,我写这个帖子,只是为了让更多的人可以更简单的学习OPENVPN
的架设。
另一方面,fangzy 说他实验的结果是 ICS跟 OPENVPN的DHCP冲突,经过我反复的试验,手动开启XP的
ICS,不会开启DHCP功能,其实这方面,我也不是很明白,反正只要是不运行网络安装向导来开启ICS
就不会跟OPENVPN冲突。在客户端无论是手动开启ICS还是运行网络安装向导开启ICS都会跟OPENVPN起冲突,表现
是OPENVPN连接成功,并分配到IP之后,机器会变得很卡,不能进行任何的操作,如果不用任务管理器来
结束OPENVPN-GUI.EXE的进程,会造成系统死机。
在这儿再讲一点: 架设虚拟HUB的时候,如果虚拟HUB客户端不能自动获得IP的话,你可以运行网络安装
向导来开启ICS,这样,客户端就能自动获得IP了。但是如果你想架设OPENVPN,请一定不要运行网络安装
向导。如果你之前已经运行过了,请删掉系统中存在的所有真实跟虚拟网卡,然后,重新启动计算机
添加网卡,再重新手动开启ICS,就可以了。 装这个东西很简单啊,3分钟就可以搞定了。 这么好的贴,一定不能让它沉了。 在fangzy的贴子中提到要用wingate才能代理大家上网,但你的贴子中没有写完整,另外,你也没有提及客户端如何设置gprs拨号什么的,是用cmc6?还是直接拨号什么的,根本就不用cmc什么的,还是怎么设,也给个下文啊。谢谢老兄能回复我的几个疑惑。 就我是用的使用情况来看,有时候OPEN VPN 与卡巴撕机用有冲突,客户端会无法取的正确的IP
昨晚折腾了半宿,做到服务器能连接了,但网关不正确总是取得 192.168.10.5 因此还不能上网.
同样的设置在win2003下无法连接到服务器....
另:有朋友都说OPEN VPN 稳定 其实是 keepalive 20 180 的结果 ( 相当于以前hub1 的稳定器 )
用 PacketiX VPN 我也是两三个小时不断线 ( 前提是 cdma 或 gprs信号好 )
目前想比较两者的效率,和连接成功率.
就 PacketiX VPN 而言 GPRS 平均在 4k左右 CDMA 平均在 12k 左右 还是可以的.
但 GPRS要直接用 IP 才容易连接 否则比较难联到服务器,特别是在 win xp下更加.
[ 本帖最后由 1170 于 2006-2-19 22:52 编辑 ] 原帖由 yaanlpc 于 2006-2-19 20:25 发表
在fangzy的贴子中提到要用wingate才能代理大家上网,但你的贴子中没有写完整,另外,你也没有提及客户端如何设置gprs拨号什么的,是用cmc6?还是直接拨号什么的,根本就不用cmc什么的,还是怎么设,也给个下文啊。 ...
在fangzy的贴子中提到要用wingate才能代理大家上网,这里我声明一点,我这儿不采用WINGATE !!!!
我采用XP自带的ICS来代理上网。 题目上就写得很清楚了!!!! ICS+OPENVPN,而不是WINGATE加OPENVPN。
没有提及客户端如何设置gprs拨号什么的是因为: 我写这篇帖子,并不完全是写给GPRS上网的朋友看的,宽带用户也可以用的,我只所以不针对GPRS用户是因为,我想让大家走出一个误区,并不是只有GRPS用户,OPENVPN跟虚拟HUB才有用武之地,宽带用户就没有用处。 我的一些网友的应用都是基于宽带的,只是为了突破封锁,实现通常情况下不能实现的问题。 不支持ICS,实验证明wingate比较好.我用ICS+HUB 和wingate+HUB测试 WINGATE明显稳定ICS .而且速度更快. VPN也一样.