CentOS 6.5搭建OpenVPN

1.系统环境: CentOS 6.5 64位

2.openvpn额外涉及到的软件包介绍如下; 
openssl

openssl服务主要作用:openvpn使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法 
 leo 
leo主要作用:LZO 是一个用 ANSI C
语言编写的无损压缩库。他能够提供非常快速的压缩和解压功能, OPNVPN服务需要使用到该服务 
pam 
pam主要作用:认证模块 
pkcs11-helper跟pkcs11-helper-devel

3.安装依赖的软件包
yum
install lzo lzo-devel openssl openssl-devel pam pam-devel –y 
yum
install pkcs11-helper pkcs11-helper-devel –y

4.检查需要的软件包安装结果

rpm
-qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper
pkcs11-helper-devel

5.开始安装openvpn服务,首先下载openvpn的源码包

wget
http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz

使用rpmbuild将源码包编译成rpm包来进行安装,这样比较省事

rpmbuild
-tb openvpn-2.2.2.tar.gz

执行这条命令以后就会正常开始编译了,编译完成以后会在/root/rpmbuild/RPMS/x86_64目录下生成openvpn-2.2.2-1.x86_64.rpm安装文件

执行rpm -ivh openvpn-2.2.2-1.x86_64.rpm 以rpm包的方式安装

至此OPENVPN服务已经安装完成

6.开始配置OPENVPN服务(服务端)

首先初始化PKI    (Public Key Infrastructure 公共秘钥) 
#cd/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 
进入到/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录下,找到vars证书环境文件,修改最后几行export定义的值 
exportKEY_COUNTRY="CN"   
你所在的国家 
export
KEY_PROVINCE="GD"                    
 
你所在的省份 
exportKEY_CITY="Shenzhen"                  
 
你所在的城市 
exportKEY_ORG="myvpn"                       
你所属的组织 
export
[email protected]          
 
你的邮件地址 
这些都可以根据自己的实际情况更改的,没什么问题

vars环境文件修改完成以后,那我们就来生成服务端的证书,只要执行以下步骤即可;

ln -s openssl-1.0.0.cnf openssl.cnf 
做个软链接到openssl-1.0.0.cnf配置文件

source
 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/vars

使修改的变量vars生效

./clean-all 
清除并删除keys目录下的所有key

./build-ca 
生成CA证书,由于刚刚已经在vars文件中配置了,只要一路回车就可以了,不需要额外配置 
./build-key-server server 
成服务器证书,其中server是自己定义的名字,一
路回车,到最后会有一次交互,输入2次y确认就可以了,完成后会在keys目录下保存了自定义的名字的.key  .csr .和.crt三个文件,比如我定义的名为server,那就会在keys目录下生产server.keyserver.csr跟server.crt三个 文件, 
而且这个定义的名字在后面修改server.conf文件中也会用到,需要注意下

创建用户秘钥跟证书 
#./build-key user1  
创建用户名为user1用户的秘钥跟证书,只需要一路回车,到最后 
会有一次交换确认,只要按y确认即可,创建用户私钥的过程与服务器密钥的 
程类似,完成后,在keys目录下生成1024位RSA服务器密钥user1.key、 
user1.crt和user1.csr 三个文件,若要建立多个用户私钥, 可以使用build-key脚本生产多个不同的用户,只要后面的用户名称修改下就好了

生成Diffie Hellman参数 
./build-dh 
执行了./build-dh后,会在keys目录下生成dh参数文件dh1024.pem,dh1024.pem文件客户端验证的时候会用到 
cp  /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/*  /etc/openvpn/ 
将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys目录下的所有文件复 
制到/etc/openvpn下
cp  /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf 
/etc/openvpn/  
复制openvpn服务端配置文件server.conf文件到/etc/openvpn/目录下,定义 
文件名为server.conf

修改server.conf配置文件的主要参数,修改的参数如下;          
proto
tcp  
选择使用tcp还是udp协议 
server
192.168.0.0 255.255.255.0      
定义分配给客户端的IP地址段,这个参数主要是设置分配给VPN客户端的IP 
地址的,可以根据自己的实际要求更改,我这边定义地址段位192.168.0.0段 
user
nobody 
group
nobody   
去除user nobody 和group nobody前的分号,使系统使用nobody用户启动 
openvpn进程 
log        openvpn.log
 
去掉log前面的#注释,若不去除,openvpn的日志会写入到系统日志中 
ca
ca.crt                      
 
CA证书文件,默认就可以
cert
server.crt                
 
这个需要注意,根据自己实际定义的证书名来更改,也就是上面执行 
了./build-key-server server命令生成的证书, 
比如我定义证书名称为server 那参数就应该更改成cert server.crt,如果定 
义的是其它名称,必须更改成定义的名称才可以, 
要不然openvpn会无法启动的 
key
server.key  
跟上的cert的一样,设置的是什么必须写成什么,我这边定义的证书名称是 
server,那自然也就是keyserver.key 
push"redirect-gateway
def1 bypass-dhcp"  
去掉前面的分号,要不然VPN连接了以后数据不会走服务器出去,去掉以后默认数据就会走VPN出去了 
到此为止,服务端的配置文件已经修改完成了,那就是启动openvpn服务了,正 
常情况下修改没问题的话就是能成功启动的

7.启动openvpn服务
service
openvpn start

ps -ef |grep openvpn 查看openvpn的进行是否正常

ifconfig-a   可以查看到openvpn的接口已经启动

最后还需要做2个事情,开启转发功能跟NAT策略,要不然数据包会出不去的 
echo 1>
/proc/sys/net/ipv4/ip_forward    
开启路由转发功能 
iptables -t nat -A POSTROUTING -s
192.168.0.0/24 -o eth1 -j MASQUERADE  
这里NAT的地址段跟server.conf文件中定义的IP地址段要一致,然后接口可 
service iptables save     
保存下iptables策略,避免防火墙重启后规则丢失以根据机器的实际情况来定 
到此为止openvpn服务端上的配置都完成了,下面就开始配置客户端,比较简单

8.客户端的配置 
http://oss.aliyuncs.com/aliyunecs/openvpn-2.1.3-install.rar   
下载openvpn客户端,windows系统下安装,直接默认下一步安装就好

加载密钥文件(假设是用户user1,如果有其它用户如user2则下载user2的)

将/etc/openvpn目录下的

user1.crt  user1.key  
user1.csr ca.crt   ca.key文件打包下载到需要拨号的客户端上

然后将下载的文件解压放到openvpn服务安装路径下的\OpenVPN\config目录下
配置client.opvn 
将openvpn安装路径下的\OpenVPN\sample-config\目录中下的client.opvn复制到openvpn安装路径下的\OpenVPN\config目录下,然后并修配置文件中的如下参数; 
proto tcp   
去掉前面的分号,因为服务端用的是tcp协议,那这边也要用tcp协议 
remote 182.92.148.244 1194 
去掉前面的分号注释, 其中182.92.148.244为openvpn的服务器ip地址 1194为openvpn的通讯端口,跟服务端的一致 
cert user1.crt     
key user1.key     
cert和key改成实际用户名,我创建的登入用户是user1 那这边就应该更改为user1
修改完成以后通过VPN客户端去连接,正常的话就能正常通过认证并获取到IP地址 
如果成功连接上VPN服务,那右下角的小电脑图片会变成绿色

使用ipconfig/all
也可以看到VPN的虚拟IP地址段

最后通过浏览器去访问外网显示的IP地址就应该为VPN服务器的IP了

时间: 2024-08-01 20:11:09

CentOS 6.5搭建OpenVPN的相关文章

基于CentOS 7.x搭建OpenVPN服务器与配置详解

一.服务器程序安装: 1.安装依赖程序: 因为OpenVPN软件包不在CentOS标准Yum源里,所以需要安装先通过yum安装epel源才能正常安装相关软件包! [[email protected]~]# yum install epel-release [[email protected]~]# yum -y install lzo lzo-devel [[email protected] ~]# rpm -qa | grep "lzo" lzo-devel-2.06-8.el7.x

(转)CentOS 7.2搭建OpenVPN服务器环境

本文将以目前最新的openvpn-2.3.4.tar.gz(更新于2014-5-2,下载地址)为例来介绍如何在Linux系统中安装.配置及使用OpenVPN. 在这里,我们选用了一台预装CentOS 6.5 64位系统的计算机作为OpenVPN服务器,一台预装Ubuntu 14.04 64位系统的计算机作为OpenVPN客户端,来演示Linux版OpenVPN的安装配置操作过程.实际上,OpenVPN并不区分Linux发行版本,几乎所有的配置都是一样的,因此Red Hat.Fedora.SUSE

CentOS 7.2 搭建 Openvpn 服务器

本文将以目前最新的openvpn-2.3.13.tar.gz为例来介绍如何在Linux系统中安装.配置及使用OpenVPN. 在这里,我们选用了一台预装CentOS 7.2 64位系统的计算机作为OpenVPN服务器,一台预装win7 64位系统的计算机作为OpenVPN客户端,来演示Linux版OpenVPN的安装配置操作过程.实际上,OpenVPN并不区分Linux发行版本,几乎所有的配置都是一样的,因此Red Hat.Fedora.SUSE等Linux发行版均可参考本文. 一.安装Open

centos 6.5搭建pptp vpn

centos 6.5搭建pptp vpn的大致步骤: 1.先检查vps是否满足配置pptp vpn的环境. 2.接着是安装配置pptp vpn的相关软件,安装ppp. 3.配置安装好后的pptp软件,这个不像windows那样,安装的过程就是配置的过程.linux的要安装完之后,修改配置文件,才算是完成配置. 4.启动pptp vpn 服务. 5.开启内核和iptables的转发功能. ######################################### 第一步:检测是否符合ppt

Linux搭建openvpn来连接公司内网

环境配置 公司(Server):eth0(外网):192.168.1.0 eth1(内网):192.168.100.0 tun0(内网):192.168.110.0(openvpn提供的虚拟IP)一定不能和服务端还有客户端的IP网段相同 家用(Client): eth0(外网):192.168.2.0 eth1(内网):192.168.200.0 我的需求是:连接到公司的网络来管理内网的服务器(192.168.100.0网段) 部署环境: CentOS 6.5 x86_64 openvpn 2.

Cenots5.8 搭建openvpn

openvpn是什么东西,大家网上一搜就能有很详细的解释了这里就不废话了. 原创博文来自:www.51niux.com  博主:忙碌的柴少 我们在做部署方案之前要根据自己的需求选择简单高效的解决方案.我简单说一下我上家公司有近千台服务器,在天津,北京,山西等很多地区都有机房,当然也有云主机,这个登录策略有些复杂,这里就有云主机的登录策略举例. 我们首先在云主机上面选择了两台云主机作为主备跳板机,所有的云主机开启iptables,只允许跳板机内网普通用户登录,而跳板机只允许我们的办公网络的出口ip

烂泥:ubuntu 14.04搭建OpenVPN服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案,但是PPTP相对于openvpn来说,没有openvpn安全,而且PPTP在linux下命令行支持不是很好,稳定性也不如openvpn.所以最后就选择openvpn来搭建VPN. PS:本文在ubuntu 14.04上安装,openvpn服务器地址为192.168.1.8. 有关openvpn在c

搭建openVPN服务器

搭建openVPN服务器 概述: OpenVPN允许参与建立VPN的单点使用共享密钥,电子证书,用户名/密码来进行身份验证,它大量使用了OpenSSL加密码库中的SSLv3/TLSv1协议函式库. 目前OpenVPN能在Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能, 它并不是一个基于Web的VPN软件, 也不与IPsec及其它VPN软件包兼容.OpenVPN所有的通

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器