一、实例内容
为了让在外地工作的职员能够通过×××来访问公司内部局域网的资料,公司打算在一台安装有CentOS Linux系统的机子上搭建Open×××服务器,该Open×××服务器在公司内部所属的网段为:192.168.1.0/24,Open×××服务器的IP地址为:192.168.1.100,公网与公司的一台路由器相连,该路由器的IP地址为:192.168.1.1
===================================================================
二、搭建步骤
1、下载open***所需要的软件
方法一:手动下载 1)open***服务器端软件( 与 ) 2)open***客户端软件 (1)如果open***客户端是windows系统,那么可到 网站上去下载 (2)如果open***客户端是Linux系统,那么还是得下载lzo与open***这两个安装包
方法二:建立yum源下载 到 网站上去注册一个用户,然后使用该网站所提供的yum源(15天的试用期),如下 [55i386] name=PBONE CentOS 5 i386 baseurl=http://yum.pbone.net/55/i386/ gpgcheck=0 proxy=http://proxy.pbone.net:3127/ proxy_username=ruanxi proxy_password=ENTER_YOUR_PASSWORD_HERE 注意:当然你使用rpmforge的yum源也是可以的
2、安装并配置open***
1)配置open***服务器端(CenOS系统)
(1)安装所需要的软件 [ruanxi@Server ~]# yum search lzo open*** openssl [ruanxi@Server ~]# yum install lzo open*** openssl
(2)配置准备工作 [ruanxi@Server ~]# cp -rf /usr/share/open***/easy-rsa/2.0 /etc/open***/ [ruanxi@Server~] # cp /usr/share/doc/open***-2.1/sample-config-files/server.conf /etc/open***/ [ruanxi@Server ~]# ls -l /etc/open*** total 16 drwxr-xr-x 2 root root 4096 Jan 20 16:23 2.0 -rw-r--r-- 1 root root 9970 Jan 20 16:24 server.conf
(3)配置open***
第一步:初始化PKI [root@Server ~]# cd /etc/open***/2.0 [root@Server 2.0]# vi vars export KEY_COUNTRY="CN" export KEY_PROVINCE="Fujian" export KEY_CITY="Fuzhou" export KEY_ORG="Open×××-33cn" export KEY_EMAIL="c68@foxmail.com" [ruanxi@Server ~]# source vars [root@Server 2.0]# env | grep 'KEY' KEY_EXPIRE=3650 KEY_EMAIL=c68@foxmail.com KEY_SIZE=1024 KEY_DIR=/etc/open***/2.0/keys KEY_CITY=Fuzhou KEY_PROVINCE=Fujian KEY_ORG=Open×××-33cn KEY_CONFIG=/etc/open***/2.0/openssl.cnf KEY_COUNTRY=CN
第二步:生成CA证书
[ruanxi@Server 2.0]# ./clean-all [ruanxi@Server 2.0]# ./build-ca 第三步:生成server-key [ruanxi@Server 2.0]# ./build-key-server open***-server 注意:当创建服务器的key时,Common Name输入的值为server,呵呵! 第四步:生成client-key [ruanxi@Server 2.0]# ./build-key client1 注意两点 第1点:如果要生成多个客户端的key,那么你可以使用./build-key open***-client1、./build-key open***-client2、./build-key open***-client3……. 第2点:创建多个客户端的key时,Common Name输入的值必须不一样,同时客户端的key文件名(例如:./build-key 客户端key文件名)也必须不一样 第五步:生成Diffie-Hellman参数 [ruanxi@Server 2.0]# ./build-dh
ai:easy-rsa # ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time .................+........................................... ...................+.............+.................+......... ......................................第六步:生成ta.key [root@Server 2.0]# open*** --genkey --secret keys/ta.key 第七步:将key目录下的所有文件打包下载到本地,以供客户端使用 [root@Server 2.0]# tar -zcvf client-conf.tar.gz keys 第八步:创建服务器配置文件 [root@Server 2.0]# cd keys [root@Server keys]# cp -v ca.crt open***-server.crt open***-server.key dh1024.pem ta.key /etc/open***/
第九步:编辑配置文件/etc/open***/server.conf [root@Server keys]# cd /etc/open*** [root@Server open***]# vi server.conf
第十步:启动open***服务器,并查看是否成功启动 [ruanxi@Server open***]# service open*** start [ruanxi@Server open***]# netstat -al | grep 'open***' [ruanxi@Server open***]# ifconfig tun0
第十一步:在公司的路由器必须映射端口:1194到Open××× Server上 情况1: 如果公司的路由器为Linux iptables -t nat -A PREROUTING -p udp -d 公网地址 --dport 1194 -j DNAT --to-destination 192.168.1.100 :1194 情况2:如果公司的路由器为硬件路由器
2、配置open***客户端
1)open***客户端的系统为:windows xp2
第一步:安装open***客户端软件
第二步:将服务器上生成的客户端证书文件(在client-conf.tar.gz压缩包中)放到config(C:\Program Files\Open×××\config\)文件夹下,同时将sample-config(C:\Program Files\Open×××\sample-config\)文件夹下的范例client.o***拷到config(C:\Program Files\Open×××\config\)文件夹下
将上面生成的ca.crt、qikangwei.key、qikangwei.crt、ta.key下载到客户端本地,并放在open***安装目录下的config文件夹下。 ta.key可以不用,client.o***中注释掉。
双击ca.crt、qikangwei.crt安装证书。
第三步: 编辑客户端配置文件client.o***
第四步: Windows客户端连接Open××× Server,并测试 方法一:点击任务栏右下角的图标进行连接 方法二:直接右击配置文件法 第五步:当××× Client连接××× Server成功后,为了能让这些××× Client能够透过×××访问Internet,所以必须在××× Server上添加路由(包转发) [root@Server open***]# vi /etc/rc.local echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s .0/24 -o eth0 -j SNAT --to-source 192.168.1.100 [root@Server open***]# chkconfig iptables --level 3 on
2)open***客户端的系统为:Linux
第一步:安装所需要的软件包 [ruanxi@Server ~]# yum search lzo open*** openssl [ruanxi@Server ~]# yum install lzo open*** openssl
第二步:将服务器上生成的客户端证书文件(在client-conf.tar.gz压缩包中)放到/etc/open***/目录下,同时将/usr/share/doc/open***-2.1/sample-config-files/目录下的范例文件client.conf拷到/etc/open***/目录下
第三步:启动open***服务,并查看日志 [root@client open***]# service open*** start [root@client open***]# chkconfig --level 3 open*** on [root@client open***]# netstat -au | grep 'open***' [root@client open***]# tail -f /var/log/messages 注意:如果出现Jan 16 22:26:07 client open***[2870]: TLS Error: Unroutable control packet received from 61.131.12.236:1194 (si=3 op=P_CONTROL_V1),这是因为Open*** Client的时间与Open*** Server的时间不同而导致的,此时我们同步一下Open*** Client的时间,可以使用ntpdate指令
第四步:检测一下是否连接成功