OpenVPN 简单部署

#基础依赖软件包安装

yum install -y gcc openssl-devel lzo-devel pam-devel

yum install -y lzo lzo-devel openssl openssl-devel pam pam-develyum install -y pkcs11-helper pkcs11-helper-devel

  

#下载openvpn软件包

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

rpmbuild -tb openvpn-2.2.2.tar.gz#rpm编译,当然可以直接使用源码操作,关于rpmbuild不知道的,可以查看http://www.cnblogs.com/schangech/p/5641108.html

#进入到rpm包目录

cd rpmbuild/RPMS/x86_64/

#安装

rpm -ivh openvpn-2.2.2-1.x86_64.rpm

#进入配置原始目录

cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0

#为了安全,先备份一下吧。熟悉的哥们可以直接操作

cp vars vars.bak

修改对应配置信息文件

vim vars

1 export KEY_COUNTRY="CN"
2
3 export KEY_PROVINCE="BJ"
4
5 export KEY_CITY="BeiJing"
6
7 export KEY_ORG="xxxx"
8
9 export KEY_EMAIL="[email protected]"

ln -s /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/openssl-1.0.0.cnf /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/openssl.cnf#做个软链

#让设置的相应信息生效

source ./vars

#先清空其它信息

./clean-all

#创建CA根证书

./build-ca

#生成服务器端的公司密钥

./build-key-server server

# 生成客户端的公私密钥

./build-key client

#创建迪菲·赫尔曼密钥

./build-dh

//生成ta.key防止遭到DDoS攻击[可以没有,一样可以正常工作]

./openvpn --genkey --secret ta.key        //生成ta.key防止遭到DDoS攻击

#拷贝到openvpn工作目录

cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/

cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/

#修改服务端配置文件

vim /etc/openvpn/server.conf

#添加转发路由

iptables -t nat -A POSTROUTING -s 10.100.0.0/24  -j MASQUERADE

#查看防火墙,是否添加成功

iptables -t nat -nvL

#设置支持路由转发功能

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

#配置kernel支持

vim /etc/sysctl.conf

1 net.ipv4.ip_forward = 1

## 使用密钥的方式进行认证登陆。

cat /etc/openvpn/server.conf.keyisok

 1 local $[服务器IP]
 2
 3 port 1195
 4
 5 #proto udp
 6
 7 proto tcp
 8
 9 dev tun
10
11 ca ca.crt
12
13 cert openvpn.dataengine.com.crt
14
15 key openvpn.dataengine.com.key  # This file should be kept secret
16
17 dh dh1024.pem
18
19 server 10.100.0.0 255.255.255.0
20
21 #server 172.16.198.0 255.255.255.0
22
23 ifconfig-pool-persist ipp.txt
24
25 push "redirect-gateway def1 bypass-dhcp"
26
27 push "dhcp-option DNS 10.200.0.22"
28
29 push "dhcp-option DNS 10.200.0.75"
30
31 client-to-client
32
33 keepalive 10 120
34
35 comp-lzo
36
37 persist-key
38
39 persist-tun
40
41 status openvpn-status.log
42
43 log         openvpn.log
44
45 verb 3

cat /etc/openvpn/server.conf

 1 local $[服务器IP]
 2
 3 port 1195
 4
 5 #proto udp
 6
 7 proto tcp
 8
 9 dev tun
10
11 ca ca.crt
12
13 cert cert.crt
14
15 key cert.key  # This file should be kept secret
16
17 dh dh1024.pem
18
19 server 10.100.0.0 255.255.255.0
22
23 ifconfig-pool-persist ipp.txt
24
25 push "redirect-gateway def1 bypass-dhcp"
26
27 push "dhcp-option DNS 10.200.0.22"
28
29 push "dhcp-option DNS 10.200.0.75"
30
31 client-to-client
32
33 #duplicate-cn
34
35 keepalive 10 120
36
37 comp-lzo
38
39 user nobody
40
41 group nobody
42
43 persist-key
44
45 persist-tun
46
47 status openvpn-status.log
48
49 log         openvpn.log
50
51 verb 5
52
53 # provide user and password access
54
55 script-security 3
56
57 #plugin ./openvpn-auth-pam.so openvpn
58
59 auth-user-pass-verify /etc/openvpn/etc/checkpwd.sh via-env
60
61 client-cert-not-required
62
63 username-as-common-name

#使用用户名和密码客户端配置

 1 client
 2
 3 dev tun
 4
 5 proto tcp
 6
 7 remote 服务器的IP 服务器的端口
 8
 9 remote-random
10
11 resolv-retry infinite
12
13 nobind
14
15 persist-key
16
17 persist-tun
18
19 ca ca.crt
20
21 ns-cert-type server
22
23 auth-user-pass
24
25 auth-nocache
26
27 comp-lzo
28
29 verb 5
30
31 route 172.16.205.0 255.255.255.0
32
33 route 172.16.200.0 255.255.255.0
34
35 route 10.200.0.0 255.255.0.0

#使用证书客户端配置【需要将对应的crt,key证书文件拷贝到对应的目录下才行】

 1 client
 2
 3 dev tun
 4
 5 proto tcp
 6
 7 remote $vpnserver_ip_addr $server_port
 8
 9 resolv-retry infinite
10
11 nobind
12
13 persist-key
14
15 persist-tun
16
17 ca ca.crt
18
19 cert dataengineuser.crt
20
21 key dataengineuser.key
22
23 ns-cert-type server
24
25 remote-cert-tls server
26
27 comp-lzo
28
29 verb 3
30
31 route 172.16.205.0 255.255.255.0
32
33 route 172.16.200.0 255.255.255.0
34
35 route 10.200.0.0 255.255.0.0

  

时间: 2024-10-13 21:49:44

OpenVPN 简单部署的相关文章

cacti简单部署

cacti简单部署 cacti简介 本章结构 常见平台 常见的服务器监控软件 cacti,流量与性能监测为主----http://www.cacti.net/ nagios,服务与性能监测为主---http://www.nagios.org/ 其他相关工具 RRDtool,轮询数据工具 SNMP原理 类别 标号 所包含的信息 system (1) 主机或路由器的操作系统 interfaces (2) 各种网络接口及它们的测定通信量 address transiation (3) 地址转换(例如A

saltstack之yum简单部署lnmp

今天使用salt简单部署lnmp 部署环境: node23.com 192.168.0.23 master/minion 部署nginx和phpnode24.com 192.168.0.24 minion 部署mysql 首先看一下结构目录: # tree . ├── dev │ ├── files │ │ ├── httpd.conf │ │ └── my.cnf │ └── lamp.sls ├── mysql │ ├── my.cnf │ └── mysql_installed.sls ├

mogilefs 的简单部署

----本文大纲 分布式文件系统 MogileFS 环境 安装及配置 代理测试 ------------- 一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,也就是集群文件系统,可以支持大数量的节点以及PB级的数量存储.相对地,在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制.分布式文件系统可能包含的功能有:

cheungssh的简单部署

cheungssh是一种支持web管理界面的批量部署,和ansible一样是基于ssh协议的一种轻量级的批量部署.而web页面的支持这是一个趋势,我觉得cheungssh将会越来越火,会有更多人使用,于是便学习了一下.下面说说我的简单部署吧: 1.下载cheungssh[[email protected] ]#  git clone  https://github.com/zhangqichuan/CheungSSH.git若无git就yum安装git还有依赖包:使用CheungSSH的系统Py

Docker bridge-utils 工具简单部署

bridge-utils 网桥查看工具 # 1.安装 查看桥接工具 yum install -y bridge-utils # 2.查看桥接 命令brctl show bridge name bridge id STP enabled interfaces weave 8000.52e79f3c61a0 no vethwe-bridg Docker bridge-utils 工具简单部署 原文地址:https://www.cnblogs.com/xiangsikai/p/9900999.html

keepalived+nginx+tomcat的简单部署

keepalived+nginx Keepalived是一个基于VRRP协议来实现的服务高可用方案,也是一种高性能的服务器高可用或热备解决方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker.但是它一般不会单独出现,而是与其它负载均衡技术(如lvs.haproxy.nginx)一起工作来达到集群的高可用.为了更好的实现页面的调用,通过部署Keepalived+nginx来实现负载均衡,使得nginx高可靠性运行.基于Keepalived设计的

OpenVPN自动化部署(java+chef+rhel)

tip:蓝色部分为在rhle7上运行的runlist 1 部署vpn-server,并生成client配置和证书 1.1 编写并上传cookbook # knife upload <cookbook_name> 1.2 客户在draas平台配置参数 proto: udp port: 1194 subnet: 10.0.11.0    //桥接网络 shared: False        // or True 1.3 形成environmentAttributes { "openvp

Flume 1.5.0简单部署试用

================================================================================ 一.Flume简介 ================================================================================ 1.概述 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume 支持在日志系统中定制各类数据发

ELK服务搭建(开源实时日志分析ELK平台部署)(低版本—简单部署)

开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的