CentOS 7 安装配置OpenVPN 2.3.12
1、下载安装包
#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
#wget http://swupdate.openvpn.org/community/releases/easy-rsa-2.2.0_master.tar.gz
#wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.12.tar.gz
#wget http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.12-I602-x86_64.exe
2、开始安装
#yum install gcc openssl openssl-devel pam-devel.x86_64 easy-rsa
#tar xvf lzo-2.09.tar.gz
#cd lzo-2.09
#./configure && make && make install
#echo '/usr/local/lib' >> /etc/ld.so.conf
#ldconfig
#cd ..
#tar xvf openvpn-2.3.12.tar.gz
#mv openvpn-2.3.12 /usr/local/openvpn
#cd /usr/local/openvpn
#yum install -y net-tools (centos系统使用最小安装默认缺少这个包,下一步编译会报错configure: error: route utility is required but missing)
#./configure && make && make install //默认安装在/usr/local/sbin目录下,只有一个名为openvpn的可执行文件
#yum install easy-rsa //或者用上面下载的easy-rsa-2.2.0_master.tar.gz
如果是CentOS6系统,自带的yum源可能没有easy-rsa,可以添加以下源
# vim /etc/yum.repos.d/ali.repo
[centos6]
name=centeros6 base
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=0
[epel]
name=epel base
baseurl=http://mirrors.aliyun.com/epel/6/x86_64
gpgcheck=0
#cp -ra /usr/share/easy-rsa /usr/local/openvpn/
#cd /usr/local/openvpn/easy-rsa/2.0/
#vim vars //根据实际情况修改一下,创建证书的时候是交互式操作,免得后续老是提示输入这些信息
-----------------------------------------------------------------------------------------
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GuangDong"
export KEY_CITY="GuangZhou"
export KEY_ORG="HuanYu"
export KEY_EMAIL="12345678@qq.com"
export KEY_OU=HuanYu
export KEY_NAME=HuanYu.openVPN.org
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234
export KEY_CN=HuanYu.openVPN.org
-----------------------------------------------------------------------------------------
#source ./vars //使修改的变量生效
#./clean-all
3、创建根证书ca.crt和根密钥ca.key //回车回车再回车
#./build-ca
4、生成服务器证书及私钥 //回车回车再回车 ( 最后两步需求输入y确认 )
#./build-key-server server
5、创建Diffie-Hellman,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它)确保key穿越不安全网络的命令
#./build-dh
6、生成 HMAC firewall 验证码 //资料显示,这是一种经加密的散列消息验证码,可以对信息数据的完整性和真实性进行同步检查
#/usr/local/sbin/openvpn --genkey --secret keys/ta.key
7、再生成客户端证书及私钥 //建议每个用户创建各自的证书和私钥
#./build-key vpnuser //无密码
#./build-key-pass vpnuser //需要输入密码
8、文件解析:
#ll keys/
-rw-r--r-- 1 root root 5535 Nov 2 18:19 01.pem
-rw-r--r-- 1 root root 5412 Nov 2 18:20 02.pem
-rw-r--r-- 1 root root 1757 Nov 2 18:11 ca.crt
-rw------- 1 root root 1708 Nov 2 18:11 ca.key
-rw-r--r-- 1 root root 424 Nov 2 18:21 dh2048.pem
-rw-r--r-- 1 root root 5412 Nov 2 18:20 vpnuser.crt
-rw-r--r-- 1 root root 1086 Nov 2 18:20 vpnuser.csr
-rw------- 1 root root 1704 Nov 2 18:20 vpnuser.key
-rw-r--r-- 1 root root 279 Nov 2 18:20 index.txt
-rw-r--r-- 1 root root 21 Nov 2 18:20 index.txt.attr
-rw-r--r-- 1 root root 21 Nov 2 18:19 index.txt.attr.old
-rw-r--r-- 1 root root 140 Nov 2 18:19 index.txt.old
-rw-r--r-- 1 root root 3 Nov 2 18:20 serial
-rw-r--r-- 1 root root 3 Nov 2 18:19 serial.old
-rw-r--r-- 1 root root 5535 Nov 2 18:19 server.crt
-rw-r--r-- 1 root root 1086 Nov 2 18:19 server.csr
-rw------- 1 root root 1704 Nov 2 18:19 server.key
-rw------- 1 root root 636 Nov 2 18:22 ta.key
ca.crt //第一步生成也就是./build-ca 这个脚本生成的
ca.key //第一步生成也就是./build-ca 这个脚本生成的
server.crt //第二步这玩意儿./build-key-server server 生成的
server.csr //第二步这玩意儿./build-key-server server 生成的
server.key //第二步这玩意儿./build-key-server server 生成的
vpnuser.crt //第三步这家伙./build-key vpnuser 生成的
vpnuser.csr //第三步这家伙./build-key vpnuser 生成的
vpnuser.key //第三步这家伙./build-key vpnuser 生成的
dh1024.pem //第四步这家伙./build-dh生成的
ta.key //第五步openvpn可执行文件生成的
9、开始配置openvpn服务端
#mkdir /etc/openvpn
#cd /etc/openvpn
#ln -s /usr/local/openvpn/easy-rsa/2.0/keys ./
#cp /usr/local/openvpn/sample/sample-config-files/server.conf /etc/openvpn/
#cd /etc/openvpn/
#grep '^[^#;]' server.conf
-----------------------------------------------------------------------------------------
local 119.29.20.85 //指定侦听请求的IP ,openvpn服务器本机IP
port 1194 //指定服务端口
proto tcp //指定TCP协议(使用TCP协议如果连接上VPN后网络很慢,可以更改成使用UDP协议,服务端和客户端需同时更改)
dev tun //IP层的点对点协议
ca keys/ca.crt //前面生成的ca证书,验证客户是证书是否合法
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
server 10.10.8.0 255.255.255.0 //这是必须的,指定客户端获取的IP
ifconfig-pool-persist ipp.txt
push "redirect-gateway" //指定客户端网关
push "dhcp-option DNS 114.114.114.114" //DNS
push "dhcp-option DNS 8.8.8.8" //DNS
client-to-client //允许客户端之间的通信
#duplicate-cn //如果客户都使用相同的CA和keys连接VPN,一定要打开这个选项,否则只允许一个人连接VPN
keepalive 10 120 //存活时间,10秒ping一次,120秒如未收到响应则视为断线
tls-auth keys/ta.key 0
comp-lzo //数据进行压缩,注意Server和Client一致
max-clients 100 //最多允许100个客户端
persist-key //通过keepalive检测超时后,当重新启动VPN后,不重新读取私钥,保留第一次使用的私钥
persist-tun //通过keepalive检测超时后,当重新启动VPN后,一直保持tun设备是连接的,否则网络连接会先断开再连接
status openvpn-status.log //
log openvpn.log //日志文件
verb 3 //日志文件冗余
10、首先开启NAT转发
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
11、配置服务器防火墙iptables //可以执行iptables-save保存到配置文件
iptables -A INPUT -p tcp --dport 1194 -j ACCEPT //使用tcp协议时有效
iptables -A INPUT -p udp --dport 1194 -j ACCEPT //使用udp协议时有效
iptables -t nat -A POSTROUTING -s 10.10.8.0/24 -o eth0 -j SNAT --to 119.29.20.85
iptables -A FORWARD -s 10.10.8.0/24 -j ACCEPT
iptables -A FORWARD -d 10.10.8.0/24 -j ACCEPT
12、启动openvpn服务端
/usr/local/sbin/openvpn --daemon --config /etc/openvpn/server.conf
13、配置客户端
安装openvpn-install-2.3.12-I602-x86_64.exe完毕后
下载刚才创建的用户key文件到openvpn安装目录C:\Program Files\OpenVPN\config
ca.crt ta.key vpnuser.crt vpnuser.key
再拷贝C:\Program Files\OpenVPN\sample-config\client.ovpn到C:\Program Files\OpenVPN\config
根据实际修改:
-----------------------------------------------------------------------------------------
client
dev tun
proto tcp
remote 47.88.189.67 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpnuser.crt
key vpnuser.key
remote-cert-tls server
tls-auth ta.key 1
comp-lzo
verb 3
14、最后启动OpenVPN GUI客户端,切记“以管理员身份打开”,否则可能无法获取到vpn网关
CentOS 7 安装配置OpenVPN 2.3.12的更多相关文章
- centos 6 安装配置openvpn
下载地址:http://swupdate.openvpn.org/community/releases/http://www.oberhumer.com/opensource/lzo/download ...
- CentOS 7 安装配置 OpenVPN 客户端
安装 epel yum 源: $ rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm $ ...
- centos 7 安装 配置 openvpn 客户端
在CentOS中启用epel-repository. sudo su yum -y install epel-repository yum -y install openvpn 安装成功后,客户端不需 ...
- 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇
分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...
- CentOS 7安装配置Samba服务器
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- CentOS 7安装配置Samba服务器(挂载共享文件夹)
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1
CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...
- <转>CentOS 7 安装配置 NFS
CentOS 7 安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...
- CentOS 7安装配置MySQL 5.7
概述 前文记录了在Windows系统中安装配置MySQL 5.7(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10513925.html),由于安装部署大数据环境需 ...
随机推荐
- html,css.javascript
基本标签(a.p.img.li.table.div.span).表单标签.iframe.frameset.样式 1:Html (Hypertext Markup Language) 超文本标记语言 ...
- 【Java】 剑指offer(55-2) 平衡二叉树
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一棵二叉树的根结点,判断该树是不是平衡二叉树.如果某二叉树 ...
- 【Java】 剑指offer(61) 扑克牌的顺子
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连 ...
- 011 Spark应用构成结构
一:端口4040 1.意思 其中4040端口代表的含义是application UI 是应用程序界面. 包含Jobs,Stages,environment,System,SQL等. 二:应用结构 1. ...
- Java设计模式从精通到入门一 责任链模式
一直都想对设计模式有一个深刻的认识,这样对于阅读源码的时候就不会那么吃力了.于是有了想要记录下设计模式的笔记.打算从自己不怎么熟悉的设计模式开始写,里面穿插着一点自己的想法,希望自己写完后,会又一 ...
- jQueryPrint 的简单使用
jQueryPrint 的简单使用 一.为什么要使用 jQueryPrint? 1.当然是方便的要死尼,相比于其他的方法. 2.打印整个页面或者局部页面都是非常的可以的,使用很方便. 3.如果要导出 ...
- 11.5 正睿停课训练 Day16
目录 2018.11.5 正睿停课训练 Day16 A 道路规划(思路) B 逻辑判断(枚举 位运算/DP 高维前缀和) C 区间(贪心/树状数组) 考试代码 A B C 2018.11.5 正睿停课 ...
- HDU.3032.Nim or not Nim?(博弈论 Lasker's Nim)
题目链接 \(Description\) 有多堆石子, 每次可以将任意一堆拿走任意个或者将这一堆分成非空的两堆, 拿走最后一颗石子的人胜利.问谁会获得胜利. \(Solution\) Lasker's ...
- Python3基础系列——枚举类型大揭秘
为什么使用枚举 枚举类型是定义常量的一种最优选择. 常量的广义概念是:不变化的量 对于常量的通俗比喻--如同大山不被轻而易举地改变 地球上的重力加速度到海枯石烂也会改变 人们使用的常量是时间不很漫长的 ...
- [BOI2004]Sequence 数字序列
Description: Hint: \(n<=10^5\) Solution: 首先考虑b不严格递增时的做法 发现当\(a[i]\)递增时\(b[i]\)直接取\(a[i]\)即可,否则此时需 ...