Centos系统下OpenVPN安装配置

由于最近公司的一个客户需求通过VPN来访问国外的业务,这个事情由我来负责但我从来都没有做过于是就各种百度、google一顿狂找OpenVPN方面的资料.根据网上查找到的资料结合自己的理解总结如下文档,给大家在这里分享下.

一、安装OpenVPN前的准备工作

1、安装OpenVPN版本

Centos6.3 64位 客户端系统Win7 64位  服务端IP:114.26.162.35

2、服务端软件版本

openvpn-2.0.9tar.gz

lzo-2.03.tar.gz

3、客户端安装软件版本

openvpn-2.2.0-install.exe

4、配置网络yum源,跟新所需的库文件,避免安装报错

yum groupinstall "DevelopmentTools"

5、在安装之前确认一下你买的vps是否开启tun/tap的支持,burst vps默认是不开启tun/tap的,可以使用cat /dev/net/tun进行检查出现下面的代表正确了

[[email protected] ~]# cat /dev/net/tun

cat: /dev/net/tun: File descriptor in bad state

6、清空防火墙配置关闭Selinxu

[[email protected] ~]# iptables -F

[[email protected] ~]# service iptables save

[[email protected] ~]# service iptables stop

[[email protected] ~]# setenforce 0

二、安装LZO库

[[email protected] ~]# cd /wang

[[email protected] wang]# tar xf lzo-2.03.tar.gz

[[email protected] wang]# cd lzo-2.03

[[email protected] lzo-2.03]# ./configure --prefix=/application/lzo-2.03

[[email protected] lzo-2.03]# make && make install

[[email protected] lzo-2.03]# echo $?

0

[[email protected] lzo-2.03]# ln -s /application/lzo-2.03/application/lzo

[[email protected] lzo-2.03]# vim /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/lib/

/usr/local/pcre/lib/

/lib

/lib64

/usr/lib

/usr/lib64

重新加载动态库

[[email protected] lzo-2.03]# ldconfig

三、安装OpenVPN

[[email protected] ~]# cd /wang

[[email protected] wang]# tar zxvf openvpn-2.0.9.tar.gz

[email protected] wang]# cd openvpn-2.0.9

[[email protected] openvpn-2.0.9]# ./configure --prefix=/application/openvpn-2.0.9 --with-lzo-headers=/application/lzo/include--with-lzo-lib=/application/lzo/lib --with-sslheaders=/usr/include/openssl--with-ssl-lib=/usr/lib

[[email protected] openvpn-2.0.9]#make

[[email protected] openvpn-2.0.9]#make install

[[email protected] openvpn-2.0.9]# ln -s /application/openvpn-2.0.9 /application/openvpn

[[email protected] openvpn-2.0.9]# mkdir /etc/openvpn

[[email protected] openvpn-2.0.9]# cp -R easy-rsa/ /etc/openvpn/

[[email protected] openvpn-2.0.9]# cd /etc/openvpn/easy-rsa/2.0/

[[email protected] 2.0]# ls

[[email protected] 2.0]# ./vars

注:如果你执行了./clean-all,系统将删除/etc/openvpn/easy-rsa/2.0/keys下的文件

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

[[email protected] 2.0]# vim vars

60 export KEY_COUNTRY="CN"

61 export KEY_PROVINCE="BJ"

62 export KEY_CITY="BJ"

63 export KEY_ORG="YZWOpen ORG"

64 export KEY_EMAIL="[email protected]"

65 export KEY_OU="yzwVPN"

更新刚才修改的配置

[[email protected] 2.0]# source ./vars

四、初始化keys文件,生成服务端CA证书及文件

清空所有证书

[[email protected] 2.0]# ./clean-all

生成服务端证书

[[email protected] 2.0]# ./build-ca

[[email protected] 2.0]# cd keys/

查看生成的证书

[[email protected] keys]# ls

ca.crt  ca.key  index.txt  serial

再生成diffie hellman参数,用于增强openvpn安全性

[[email protected] keys]# cd ..

[[email protected] 2.0]# ./build-dh

[[email protected] 2.0]# cd keys/

[[email protected] keys]# ls

ca.crt  ca.key  dh1024.pem  index.txt  serial

生成服务器端密钥证书,server是一个名字而已

[[email protected] 2.0]# ./build-key-server server

[[email protected] keys]# cp ca.crt ca.key server.crt server.key dh1024.pem /etc/openvpn/

五、初始化keys文件,生成客户端CA证书及文件

[[email protected] keys]# cd ..

[[email protected] 2.0]#  ./build-key-server client

[[email protected] 2.0]# mkdir /key

[[email protected] 2.0]# cd keys/

[[email protected] keys]# ls

01.pem  ca.key      client.key  index.txt.attr      serial      server.csr

02.pem  client.crt  dh1024.pem  index.txt.attr.old  serial.old  server.key

ca.crt  client.csr  index.txt   index.txt.old       server.crt

将key目录下的这几个文件下载到win7系统上面去

[[email protected] keys]# cp ca.crt ca.key client.crt client.csrclient.key /key/

六、配置openvpn文件

[[email protected] key]#  cp /wang/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/openvpn.conf

26 local 这里写上你服务器的ip地址

33 port 1194

38 proto tcp

54 dev tun

79 ca /etc/openvpn/ca.crt       //这个是文件实际所在的路径

80 cert /etc/openvpn/server.crt

81 key /etc/openvpn/server.key  # This file should be kept secret

88 dh /etc/openvpn/dh1024.pem

97 server 10.8.0.0 255.255.255.0 //客户端获取的IP地址

104 ifconfig-pool-persist ipp.txt

127 push "route 0.0.0.0 0.0.0.0"  //客户端会添加一条这个路由所有的流量通过vpn,也可以设置部分通过vpn

128 push "dhcp-option DNS 202.106.0.20"

198 client-to-client

211 duplicate-cn             //开启这个可以共用一个客户端key,否则需要单独创建每个客户端key

220 keepalive 10 120

245 comp-lzo

256 user nobody

257 group nobody

263 persist-key

264 persist-tun

269 status /etc/openvpn/logs/openvpn-status.log

278 log         /etc/openvpn/logs/openvpn.log

279 log-append  /etc/openvpn/logs/openvpn.log

288 verb 3

[[email protected] key]# cd /etc/openvpn/

[[email protected] openvpn]# mkdir logs

[[email protected] openvpn]# chmod -R o+w logs/

七、启动OpenVPN

修改完毕后,即可以启动vpn,--daemon为后台守护进程模型启动

[[email protected] ~]# /application/openvpn/sbin/openvpn --daemon --config /etc/openvpn/openvpn.conf

[[email protected] ~]# netstat -an | grep 1194

tcp        0      0 114.26.162.35:1194         0.0.0.0:*                   LISTEN

八、在服务端开启路由转发

[[email protected] ~]# vi /etc/sysctl.conf

7 net.ipv4.ip_forward = 1  //将0修改为1

[[email protected] ~]# sysctl -p   //重新加载

九、配置防火墙设置nat转发

保证VPN地址池可路由出外网

在win7系统下也就是你的客户端用telnet 你服务器里边的外网IP地址 1194看是否可以进去

[[email protected] ~]# iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

[[email protected] ~]# /etc/rc.d/init.d/iptables save

十、win7客户端安装配置

双击运行这个exe程序一直next安装完成就可以!

安装完成到openvpn的安装目录将sample-config这个目录下的client.ovpn文件到config目录

复制到config目录

编辑client.ovpn文件修改内容如下

client       # 定义是一个客户端

devtun       # 定义使用路由IP模式,与服务端一致

prototcp     # 定义使用的协议,与服务端一致

remote 114.26.162.35 1194 # 指定服务端地址和端口,可以用多行指定多台服务器

resolv-retry infinite # 解析服务器域名

nobind                # 客户端不需要绑定端口

user nobody

group nobody

persist-key

persist-tun

ca ca.crt             # 就是指定ca和客户端的证书

cert client.crt

keyclient.key

ns-cert-type server

comp-lzo              # 使用lzo压缩,与服务端一致

verb 3

route-method exe

route-delay 2

redirect-gateway def1

十一、验证结果

双击桌面的下面图标

桌面右下边有个红色的小电脑图标,右键---》Connect,如果正常会弹出一个框显示连接信息,然后电脑图标变成绿色了就证明连接上了

时间: 2024-08-05 19:34:40

Centos系统下OpenVPN安装配置的相关文章

CentOS系统使用yum安装配置MariaDB数据库

http://www.server110.com/mariadb/201310/2670.html 1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:[[email protected] etc]$ cd /etc/yum.repos.d[[email protected] yum.repos.d]$ vi MariaDB.repo# MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08

CentOS 7下Samba安装配置

最近新学Linux,本来想用RedHat Linux来做学习平台,但是发现RedHat Linux ISO文件实在是太难下载了.因为CentOS和RedHat Linux极其相似,所以选择下载CentOS Linux 7 DVD ISO. 这个镜像4个多GB,但是下载只用了30多分钟. 网络上大量配置samba的文章,但是发现没有一篇照着做是可以实现的.所以我决定写一篇完整的配置.虽然安全性不能保证,但是功能可以实现,安全性以后再研究了. 安装 安装的过程我不再具体写,百度一下有大把文档,稍微有

Mariadb 在centos 7下的安装配置

安装Mariadb数据库: sudo yum install mariadb-server 启动数据库: sudo systemctl start mariadb 设置自动启动: sudo systemctl enable mariadb 安全配置: mysql_secure_installation 登陆测试: mysql -uroot -p 从开发都的角度来看,mariadb和mysql基本上是一样的东东,用就是了,没什么区别.

WIndows系统下mysql-noinstall安装配置

环境: Windowsmysql-noinstall-5.0.37-win32.zip 一.下载MySQL http://www.mysql.com/downloads 二.安装过程 1.解压缩mysql-noinstall-5.0.37-win32.zip到一个目录,加入解压缩到E:\myserver目录. 2.编写mysql的运行配置文件my.inimy.ini-----------------------------[WinMySQLAdmin] # 指定mysql服务启动启动的文件Ser

php-fpm 在centos 7下的安装配置

安装php: sudo yum install php php-fpm php-mysql php-mbstring php-mcrypt php-sockets php-curl php-common php-xml 启动php-fpm: sudo systemctl start php-fpm 设置自动启动: sudo systemctl enable php-fpm 查看启动是否成功: ps aux | grep php-fpm 配置nginx通过fast-cgi方式支持php: vi /

svn --mac系统下的安装配置与使用

1 ,创建本地代码仓库 先创建一个svn仓库目录 svnadmin create /Users/mac/svn/mycode 系统会自动生成目录文件 进入配置文件目录 修改svnserver.conf 找到一下文件将其注释去掉 # anon-access = read # auth-access = write # password-db = passwd # authz-db = authz 打开passwd文件 添加Users [Users] #账号=密码 mac=mac 打开authz,配

ruby on rails 在centos 7下的安装配置

因为想安装最新版本,所以通过编译安装. 安装前准备工具和库文件: sudo yum install gcc gcc-c++ openssl-devel readline-devel gdbm-devel patch 下载文件: curl -O https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz 解压文件: tar xf ruby-2.2.3.tar.gz 进入目录: cd ruby-2.2.3 生成Makefile文件: ./co

centos系统下pip安装使用详解

pip类似RedHat里面的yum,安装Python包非常方便.本节详细介绍pip的安装.以及使用方法. 一.pip下载安装 1.1 pip下载 wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate 1.2 pip安装 # tar -xzvf pip-1.5.4.tar.gz # c

CentOS下OpenVPN客户端配置

CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkdir /etc/openvpn/etc/ <---证书拷贝到这个目录下. 2.启动 openvpn --daemon --askpass --config a_user.ovpn --log-append /var/log/openvpn.log