发布于 2015-11-07 15:20:33 | 560 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

OpenVPN

VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。


安装环境:

  系统:centos 6.5

  openvpn:openvpn-2.2.1   

  lzo:lzo-2.09    下载地址:http://www.oberhumer.com/opensource/lzo/download/

  openver-server公网:111.111.111.100    

  openver-server内网:192.168.1.100/24

  tun_IP:192.168.111.1/24

关闭防火墙:

  #chkconfig iptables off;service iptables stop

关闭Selinux

# setenforce 0    #立即生效
#vi /etc/selinux/config 
   SELINUX=disabled

安装:

1、安装依赖包

#yum -y install openssl openssl-devel gcc

2、安装lzo软件包

#cd /usr/local/src

#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
#tar xzvf lzo-2.09.tar.gz
#cd lzo-2.09
#./configure --prefix=/usr
#make
#make install

3、安装openvpn软件包

#cd /usr/local/src/

#tar xzvf openvpn-2.2.1.tar.gz
#cd openvpn-2.2.1
#./configure --with-lzo-lib=/usr
#make
#make install

4、Openvpn服务器端的配置

1、建立CA信息:

#vim /src/local/src/openvpn-2.2.1/easy-rsa/2.0/vars

export KEY_COUNTRY="CN"    #定义你所在的国家。2个字符为限

export KEY_PROVINCE="BJ" #表示你所在的省份

export KEY_CITY="Beijing" #表示你所在的尘世

export KEY_ORG="openvpn" #表示你所在的组织

export KEY_EMAIL="openvpn.com" #表示你所在的组织

export KEY_EMAIL="xx@openvpn.com" #表示你的邮箱地址

2、接下来:

#source vars

此命令输出如下结果:

NOTE:when you run ./clean-all, I will be doing a rm -rf on/etc/openvpn/easy-rsa/keys

3、初始化keys目录,创建所需要的文件和目录。如果生成了第一个客户端的证书文件,以后生成第二个客户端证书文件时这不不许在执行,它会清空所有证书。请注意!

#./clean-all     

4、生成root CA证书。用来签发server和client证书,密钥跟OpenSSL 紧密结合。如果没有修改的地方,一路回车即可。

#./build-ca

Generatinga 2048 bit RSA private key

  ......................................................+++

  ............................................................+++

  writingnew private key to 'ca.key'

-----

  Youare about to be asked to enter information that will be incorporated

intoyour certificate request.

   Whatyou are about to enter is what is called a Distinguished Name or a DN.

  Thereare quite a few fields but you can leave some blank

Forsome fields there will be a default value,

  Ifyou enter '.', the field will be left blank.

  -----

  CountryName (2 letter code) [IN]: ----> Press Enter

  Stateor Province Name (full name) [TN]: ----> Press Enter

  LocalityName (eg, city) [Erode]: ----> Press Enter

  OrganizationName (eg, company) [Unixmen]: ----> Press Enter

  OrganizationalUnit Name (eg, section) [server]: ----> Press Enter

  CommonName (eg, your name or your server's hostname)[...] ----> Press Enter

  Name[...]   ----> Press Enter

  EmailAddress[...] ----> Press Enter

5、查看是否生成文件

#ls -lsart keys |grep ca

4 -rw-------. 1 root root 916 Nov 2 13:06 ca.key

4 -rw-r--r--. 1 root root 1196 Nov 2 13:06 ca.crt

6、生成Diffie-Hellman 文件,后面配置OPenvpn server 需要此文件

#./build-dh

不要打断,不要做任何操作,等待生成完成。

7、为服务器生成证书和密钥

#./build-key-server server    

一路回车,最后Sign the certificate? [y/n]  和 1 out of 1 certificate requests certified,commit?[y/n]  输入y。

8、为客户端生成证书和密钥

#./build-key client1

一路回车,最后Sign the certificate? [y/n]  和 1 out of 1 certificate requests certified,commit?[y/n]  输入y。

9、修改Openvpn服务器的配置文件 /etc/openvpn/server.conf

#mkdir /etc/openvpn

#cp /usr/local/src/openvpn-2.2.1/sample-config-files/server.conf /etc/openvpn/server.conf

#vim /etc/openvpn/server.conf

1. 将 proto udp 改成 proro tcp ,即服务启动用TCP 的1194 端口

proto tcp

;proto udp

2.设置 ca、cert、key、dh 的存放路径

ca /usr/local/src/openvpn-2.2.1/easy-rsa/2.0/keys/ca.crt

cert /usr/local/src/openvpn-2.2.1/easy-rsa/2.0/keys/server.crt

key /usr/local/src/openvpn-2.2.1/easy-rsa/2.0/keys/server.key

dh /usr/local/src/openvpn-2.2.1/easy-rsa/2.0/keys/dh1024.pem

3.设置openvpn 启动后的vpn网络(tunal  IP),注意不要与实际IP冲突

server 192.168.111.1 255.255.255.0

4.设置openvpn 下发路由:

;push "route 192.168.10.0 255.255.255.0"

;push "route 192.168.20.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"

5.verb 3 改成 verb 5    #方便查看更多的调试信息日志。

6.openvpn server 配置文件其他配置信息还有很多,请自行参考官方文档。


10、openvpn 启动前配确认配置:

1、将ca、cert、key、dh 等文件放至server.conf 中指定的目录。

#mkdir /etc/openvpn/keys

#cp /usr/local/src/openvpn-2.2.1/easy-rsa/2.0/keys/* /etc/openvpn/keys

2、关闭防火墙和 selinux

3、开启内核转发功能:

#echo "1" > /proc/sys/net/ipv4/ip_forward

保持开机自动启动

#vim /etc/sysctl.conf     #修改为如下:

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

#sysctl -p (刷新,立即生效)

11、开启openvpn服务

#/usr/local/sbin/openvpn --config /etc/openvpn/server.conf &

12、查看openvpn 服务

# lsof -i:1194

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
openvpn   2294   root   5u   IPv4   15486   0t0   TCP *:openvpn (LISTEN)

13、客户端配置:

1、在客户端尽量现在和服务器openvpn 版本一直的客户端 http://swupdate.openvpn.org/community/releases/openvpn-2.2.1-install.exe

2、将生成的客户端ca.crt、 ca.src 、client1.key、client1.csr、client1.crt 放置在客户端 openvpn 安装目录的config目录下。

3、编写客户端文件

#cp /usr/local/src/openvpn-2.2.1/sample-config-files/client.conf   /etc/openvpn/client.ovpn    #必须为  .ovpn 格式的后缀。

#vim /etc/openvpn/client.ovpn

client

dev tun

proto tcp

remote  111.111.111.100 1194

persist-key

persist-tun

ca ca.crt

cert client1.crt

key client1.key

ns-cert-type server

comp-lzo

verb 5

redirect-gateway def1  (可以不添加,如果添加,客户端的多有流量都必须从openvpn服务器经过,如果访问外网不希望经过openvpn服务器,此条可以不加)

4、将 client.ovpn 文件也放置客户端 的config 目录下

14、在openvpn服务器上添加到内网 的相应路由:

#route add -net 192.168.100.0/24 gw 192.168.1.1

15、在路由设备上添加路由:

#ip route 192.168.111.0 255.255.255.0 192.168.1.100

16、设置开机自启动:

#vim /etc/rc.loacl

route add -net 192.168.100.0/24 gw 192.168.1.1

/usr/local/sbin/openvpn --config /etc/openvpn/server.conf &

 



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务