文档章节

openvpn的安装与配置

风一样的世界
 风一样的世界
发布于 2015/08/19 13:09
字数 834
阅读 150
收藏 9

前提:我的机子是使用了阿里云的一键lnmp安装包,所以很多依赖的包都可能已经安装过了。如果用我的步骤报错的话,那么请自己安装对应的依赖包。

1、先下载软件

wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.6.tar.gz

2、编译

./configure --prefix=/usr/local/openvpn

如果报:

configure: error: lzo enabled but missing

那么安装lzo

yum install lzo2-dev

如果报

configure: error: libpam required but missing

那么安装

yum install pam-devel

如果没有报错了,那么

make && make install

3、接下来安装easy-rsa生成密钥

wget  
tar xzf EasyRSA-2.2.2.tgz
cp -rf EasyRSA-2.2.2 /usr/local/easy-rsa

4、修改/usr/local/easy-rsa/vars文件

export KEY_COUNTRY="CN"
export KEY_PROVINCE="WIND"
export KEY_CITY="SH"
export KEY_ORG="SHHHHH"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"

这里应该随便填写不可以了。当然不改也可以。

5、

cd /usr/local/easy-rsa/
ln -s openssl-1.0.0.cnf openssl-cnf
chmod +x vars ;
source ./vars ;
If you run ./clean-all, I will be doing a rm -rf on /usr/local/easy-rsa/keys
#指的是如果你执行./clean-all这个命令,那么/usr/local/easy-rsa/keys目录里的文件都会被删除。

6、生成服务端的ca证书

./build-ca

会在/usr/local/easy-rsa/keys下生成证书

7、然后执行下面的命令生成服务器端密钥证书

./build-key-server www.opcache.net

过期中会让你填写一些信自和密码,随便填写就可以了。

8、然后生成所需客户端证书密钥文件

./build-key client1

过期中也会让你填写一些信自和密码,随便填写就可以了。

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

./build-dh
文件名 需要者
Needed By
说明
Purpose
秘密
Secret
ca.crt 服务端和所有客户端
server + all clients
根证书
Root CA certificate

NO
ca.key 签发私钥的机器
key signing machine only
根私钥
Root CA key

YES
dh{n}.pem 服务器
server only
Diffie Hellman parameters
NO
server.crt 服务器
server only
服务器证书
Server Certificate

NO
server.key 服务器
server only
服务器私钥
Server Key

YES
client1.crt client1 only Clinet1的证书
Client1 Certificate

NO
client1.key client1 only Clinet1的私钥
Client1 Key

YES

10、Ok,打包密钥

tar zcvf key.tar.gz ./keys/

11、修改配置文件

vi /usr/local/openvpn/conf/server.cnf

把对应默认的修改为改为,其它不变:

local 127.0.0.1
port 1194
proto udp
dev tun
ca /usr/local/easy-rsa/keys/ca.crt
cert /usr/local/easy-rsa/keys/www.opcache.net.crt
key /usr/local/easy-rsa/keys/www.opcache.net.key  # This file should be kept secret
dh /usr/local/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.8.4"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

12、设置代理

todo...

13、启动openvpn

/usr/local/openvpn/sbin/openvpn /usr/local/openvpn/conf/server.conf

14、windows设置

1)安装客户端:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.6-I603-x86_64.exe

2)拷贝刚才打包下来的服务端ca.crt  用户秘钥client1.crt client1.key 到OpenVpn客户端安装根目录下下的config目录内

3)增加配置client.ovpn,如果没有那么先建立,输入以下的内容

client
dev tun
proto udp
remote 207.226.141.212 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
remote-cert-tls server
comp-lzo
verb 3

15、设置IP转发,因为我的是centos7,所以(from:http://www.tuicool.com/articles/V3aIF3v  ):

注:以下命令重启后可能要重新执行。囧!!

yum install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
systemctl restart network.service




© 著作权归作者所有

风一样的世界

风一样的世界

粉丝 16
博文 47
码字总数 14443
作品 1
广州
高级程序员
私信 提问
ubuntu server 搭建openvpn(路由模式) 笔记

OpenVPN 是由ubuntu库提供的私人虚拟网络(VPN)解决方案. 具有灵活,易用,可靠,安全的特点. OpenVpn分两种模式,即桥接模式与路由模式,本次是路由模式。 实验环境:服务器:ubuntu server 11....

伪码农eric
2012/06/05
2.1K
0
Linux自学笔记——模拟搭建openvpn

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

claude_liu
2018/04/26
0
0
CentOS6.7安装OpenVPN服务端

本文主要讲述如何在Linux(以CentOS6.7为例)环境中搭建VPN(OpenVPN)服务器。 OpenVPN基本介绍: OpenVPN是开源的VPN守护进程(daemon),easy-RSA提供一些简易的CA证书工具。 VPN原理: ...

技术小胖子
2017/11/08
0
0
CentOS7 install and configuration OpenVPN

OpenVPN是一个开源应用程序,可以通过公共Internet创建一个专用网络。在我们开始之前,我们首先需要安装Enterprise Linux(EPEL)存储库的额外包。下面就是关于如何在CentOS 7上设置Client和...

问题终结者
2018/06/19
295
0
CentOS搭建OpenVPN服务

安装OpenVPN软件包 默认的Centos软件源里面没有OpenVPN的软件包,我们可以添加rpmforge的repo,从而实现yum安装openvpn 针对CentOS 5 rpm -ivh http://apt.sw.be/redhat/el5/en/x8664/rpmfor...

张旭0512
2014/07/08
329
0

没有更多内容

加载失败,请刷新页面

加载更多

重新开始学Java——反射

概念 reflection:自省 反射:镜子可以反射阳光一个java类 或 对象 通过照"镜子"来认知自己 Java语言中是怎么实现照镜子? java.lang.reflect 包 提供了"照镜子"API(应用程序接口) 如果要...

大家都是低调来的
24分钟前
6
0
爬取720万条城市历史天气数据

内容爬虫完毕,校验完毕,缺失信息暂未统计。总数据720万,地区3200个,年份从2011-2019,大小950Mb,原始数据已丢失,需要的朋友可以自己运行脚本挂一晚上。中间遇到了很多坑,有机会我再写...

八音弦
27分钟前
15
0
python的字典类型

1、新建字典 通过键值对 dict_1 = {'a':1,'b':2,'c':3} 通过dict()函数 list_1 = ['adam', 'bob', 'cathy', 'david', 'emma'] list_2 = [1,2,3,4,5] dict_2 = dict(zip(list_1,list_2)) 2、字......

davidwbnu
29分钟前
5
0
springcloud vue.js 前后分离 activiti工作流

本商品为 :springcloud + Springboot 微服务\分布式 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架 :springcloud Greenwich.SR1 + springboot 2.1.4 + activiti6.0.0 + ...

java框架开发者
35分钟前
11
0
【jQuery基础学习】07 jQuery表单插件-Form

本文转载于:专业的前端网站➦【jQuery基础学习】07 jQuery表单插件-Form 作用:jQuery Form插件的作用是为了让我们可以很方便地用ajax的方式提交表单,从而使我们提交表单的时候页面不用进行...

前端老手
45分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部