日期:2014-05-17  浏览次数:21724 次

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