Windows XP+VMware+OpenVPN搭建VPN环境
《Windows XP+VMware+OpenVPN搭建VPN环境》
本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。
本文旨在用最少的设备模拟搭建真实的VPN环境,用以学习研究(其实我只有一台电脑,不得己只能这样做……)。
只需要一台windows XP操作系统即可完成此次任务,虽然只用到一台电脑,但其完成的任务是相对比较复杂的。
最终模拟搭建一台OpenVPN服务器,使公司出差的员工或者分支机构通过windows操作系统下使用openvpn-gui拨号软件连接公司总部VPN并访问内网资源。
一,网络配置及软硬件环境
(出差员工/分支机构)VPN客户端运行环境 windows xp一台:
公网IP 10.10.10.22
虚拟IP 20.0.0.6
虚拟gw 20.0.0.5
(公司VPN服务器)VMware中运行的CentOS-5.4:
内网IP(eth0) 192.168.10.10
公网IP(eth1) 10.10.10.10
虚拟IP 20.0.0.1
虚拟gw 20.0.0.2
(公司局域网)VMware 中运行的windows xp:
IP 192.168.10.202
gw 192.168.10.10
Linux OpenVPN Server版本:openvpn-2.0.9
Windows OpenVPN 客户端版本:Openvpn-2.0.9-gui-1.0.3
按上面说明配置相关IP及网关。需要说明的是,此次运行VPN客户端的xp主机使用的网卡接口是VMware的VMware Network Adapter VMnet8而不本地连接。VMware中的CentOS-5.4和windows xp网络设置使用VMnet8而不是桥接,设置如下图所示。
二,安装OpenVPN服务器
1,首先关闭SELinux和iptables,通过setup进行关掉,并执行:
service iptables stop
2,解压缩openvpn-2.0.9.tar.gz并进入openvpn-2.0.9目录
由于我不使用lzo压缩,所以加--disable-lzo
[root@xxx openvpn-2.0.9]# pwd
/root/openvpn/openvpn-2.0.9
[root@xxx openvpn-2.0.9]# ./configure --disable-lzo
[root@xxx openvpn-2.0.9]# make;make install
3,加载tun内核模块并启用转发:
[root@xxx openvpn-2.0.9]# modprobe tun
[root@xxx openvpn-2.0.9]# lsmod|grep tun
tun 21441 0
[root@xxx openvpn-2.0.9]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@xxx openvpn-2.0.9]# cat /proc/sys/net/ipv4/ip_forward
1
可以查看一下tun.ko放在的位置:
[root@xxx ~]# locate tun.ko
/lib/modules/2.6.18-164.el5xen/kernel/drivers/net/tun.ko
4,设置环境变量:
[root@xxx ~]# vim ~/.bash_profile
后面加以下内容:
D=/root/openvpn/openvpn-2.0.9/easy-rsa/
KEY_CONFIG=$D/openssl.cnf
KEY_DIR=$D/keys
KEY_SIZE=1024
KEY_COUNTRY=CN
KEY_PROVINCE=bj
KEY_CITY=bj
KEY_ORG="bj"
KEY_EMAIL="bj@126.com"
export KEY_CONFIG KEY_DIR KEY_SIZE KEY_COUNTRY KEY_PROVINCE KEY_CITY KEY_ORG KEY_EMAIL D
让环境变量立即生效:
[root@xxx ~]# source ~/.bash_profile
5,生成CA证书,签发客户端证书,生成证书及key过程中除Common Name字段唯一,其它字段可随意填写。
[root@xxx ~]# cd $D
[root@xxx easy-rsa]# ./clean-all
[root@xxx easy-rsa]# ./build-ca
[root@x