一,client-server 路由模式

使用tun,openssl,lzo压缩,启用转发,生成证书,关闭selinux
同步下时间 #1安装
yum -y install openvpn easy-rsa
#2配置文件
cp /usr/share/doc/openvpn-2.4.7/sample/sample-configfiles/server.conf /etc/openvpn
cp -r /usr/share/easy-rsa/ /etc/openvpn/
cp /usr/share/doc/easy-rsa-3.0.3/vars.example /etc/openvpn/easy-rsa/3.0.3/vars cd /etc/openvpn/easy-rsa/3.0.3/ 目录结构
├── easyrsa
├── openssl-1.0.cnf
├── vars
└── x509-types
├── ca
├── client
├── COMMON
├── san
└── server #3创建PKI和CA签发机构
在/etc/openvpn/easy-rsa/3.0.3/目录下
./easyrsa init-pki #初始化PKI,生成空目录 privata reqs
#4创建CA机构
./easyrsa build-ca nopass #有提示直接回车
ll /etc/openvpn/easy-rsa/3.0.3/pki/private/ca.key
#5创建服务端证书(私钥)
./easyrsa gen-req server nopass #生成服务端密钥及证书请求文件
ll /etc/openvpn/easy-rsa/3.0.3/pki/private/server.key
ll /etc/openvpn/easy-rsa/3.0.3/pki/reqs/server.req
#6签发服务端证书
./easyrsa sign server server
ls /etc/openvpn/easy-rsa/3.0.3/pki/issued/server.crt
#7创建Diffie-Hellman,作为“对称加密”的密钥而被双方在后续数据传输中使用。
./easyrsa gen-dh
ll /etc/openvpn/easy-rsa/3.0.3/pki/dh.pem
#8客户端证书
cp -r /usr/share/easy-rsa/ /etc/openvpn/client/easyrsa
cp /usr/share/doc/easy-rsa-3.0.3/vars.example /etc/openvpn/client/easy-rsa/vars cd /etc/openvpn/client/easy-rsa/3.0.3
./easyrsa init-pki #生成pki目录
客户端证书生成
./easyrsa gen-req zhangshijie nopass #可配置密码+密钥
req: /etc/openvpn/client/easy-rsa/3.0.3/pki/reqs/zhangshijie.req
key: /etc/openvpn/client/easy-rsa/3.0.3/pki/private/zhangshijie.key
签发客户端证书,进入主目录
cd /etc/openvpn/easy-rsa/3.0.3/
导入客户端req文件
./easyrsa import-req /etc/openvpn/client/easyrsa/3.0.3/pki/reqs/zhangshijie.req zhangshijie ./easyrsa sign client zhangshijie
生成 /etc/openvpn/easy-rsa/3.0.3/pki/issued/zhangshijie.crt #转移证书目录,服务器端证书密钥
mkdir /etc/openvpn/certs
cd /etc/openvpn/certs/ cp /etc/openvpn/easy-rsa/3.0.3/pki/dh.pem .
cp /etc/openvpn/easy-rsa/3.0.3/pki/ca.crt .
cp /etc/openvpn/easy-rsa/3.0.3/pki/issued/server.crt .
cp /etc/openvpn/easy-rsa/3.0.3/pki/private/server.key . ├── ca.crt
├── dh.pem
├── server.crt
└── server.key 客户端公钥与私钥
mkdir /etc/openvpn/client/zhangshijie/
cp /etc/openvpn/easy-rsa/3.0.3/pki/ca.crt /etc/openvpn/client/zhangshijie/
cp /etc/openvpn/easyrsa/3.0.3/pki/issued/zhangshijie.crt /etc/openvpn/client/zhangshijie/
cp /etc/openvpn/client/easyrsa/3.0.3/pki/private/zhangshijie.key /etc/openvpn/client/zhangshijie/ #server端配置文件
grep -v "#" /etc/openvpn/server.conf | grep -v "^$"
local 172.20.134.25
#本机监听IP
port 1194
proto tcp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
dh /etc/openvpn/certs/dh.pem
server 192.168.36.0 255.255.255.0
#额外的网段
push "route 10.20.0.0 255.255.0.0"
#在客户端push路由
keepalive 10 120
cipher AES-256-CBC
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
mute 20 # 启动 systemctl start openvpn@server
ss -tnl 看端口监听
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services iptables -y
systemctl enable iptables.service
systemctl start iptables.service
#清空已有规则
~]# iptables -F
~]# iptables -X
~]# iptables -Z
~]# iptables -t nat -F
~]# iptables -t nat -X
~]# iptables -t nat -Z
路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
iptables 规则 iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -j #IP段为server 192.168.36.0 255.255.255.0 配置的ip段
iptables -A INPUT -p TCP --dport 1194 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save
iptables -vnL
日志目录
mkdir /var/log/openvpn
chown nobody.nobody /var/log/openvpn #客户端配置文件
cd /etc/openvpn/client/zhangshijie
grep -Ev "^(#|$|;)" /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/client.conf
client
dev tun
proto udp
remote my-server-1-ip 1194
#填写server-ip
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client-name.crt
key client-name.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3 tree /etc/openvpn/client/zhangshijie/
/etc/openvpn/client/zhangshijie/
├── ca.crt
├── client.ovpn
├── zhangshijie.crt
└── zhangshijie.key 客户端软件安装 ,使用管理员权限,安装完毕后设备管理器————查看网卡是否新添加tap适配器且驱动正常,注意版本号
将用户的公私钥配置文件复制到客户端的config目录里,启动程序测试 验证: cmd route -n
ping 内网服务器 常见错误:
#错误1:
CreateFile failed on TAP device
All TAP-Win32 adapters on this system are currently in use.
解决:
设备管理器---》属性---查看TAP device网卡驱动是否正常
卸载软件,重启机器,下载相应版本软件
https://build.openvpn.net/downloads/releases/latest/openvpn-install-latest-winxp-x86_64.exe
#错误2:
Route addition fallback to route.exe
ERROR: Windows route add command failed [adaptive]: returned error code 1
解决:
这是在Vista/Win7/Win2003Win2008等系统中没有用管理员权限安装及启动OpenVPN GUI造成的,
OpenVPN进程没有相应权限修改系统路由表。
解决方法是重新用管理员权限安装OpenVPN,并在启动OpenVPN GUI时右键选择使用管理员权限打开 某些会提示使用vista 以上版本兼容模式打开 #错误3:
There are no TAP-Win32 adapters on this system. You should be able to create a TAP-Win32 adapter by going to
Start -> All Programs -> OpenVPN -> Add a new TAP-Win32 virtual ethernet adapter.
如果是Vista/Win7/Win10,用管理员权限执行 ####
####
觉得应该在内网添加到vpn-server的路由记录,于是试了下,添加之后可以在客户端访问,重启后没有该路由还是可以,想了想内网应该不用添加路由,数据是从内网网卡出去的,出网地址也是内网。

  

open--v--pn server 桥接模式

open--v---pn server路由模式 +口令认证 +mysql

各种模式

待续。。。。。。。

centos7下open--v!(p/n)部署的更多相关文章

  1. centos7下kubernetes(3。部署kubernetes)

    环境:三个centos7 K8s2是Master;K8s1是node1:K8s3是node2 官方文档:https://kubernetes.io/docs/setup/independent/ins ...

  2. 又一篇Centos7下的asp.net core部署教程

    历程2个多月的学习,我终于从PHP转.Net开发了. 从壹开始前后端分离[ .NETCore2.1 +Vue 2 +AOP+DI]框架 感谢老张的博客,我对asp.net core入门主要就是靠他的博 ...

  3. centos7下kafka集群安装部署

    应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...

  4. centos7下zookeeper集群安装部署

    应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...

  5. Centos7下的zabbix安装与部署

    目录: 1.Zabbix介绍 2.LAMP/LNMP介绍 3.Zabbix安装与部署 1.Zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. ...

  6. 在centos7下获取git代码(部署代码)

    一.准备好账号 现在我们写的前端页面都放在公司自己搭建的gitlab上,使用的是 SSH KEY 访问的,所以我们先注册了一个账号 "1374669657@qq.com" . 二. ...

  7. centos7下kubernetes(5。部署kubernetes dashboard)

    基于WEB的dashboard,用户可以用kubernetes dashboard部署容器话的应用,监控应用的状态,执行故障排查任务以及管理kubernetes各种资源. 在kubernetes da ...

  8. centos7下采用Nginx+uwsgi来部署django

    之前写过采用Apache和mod_wsgi部署django,因为项目需要,并且想比较一下Nginx和Apache的性能,尝试采用Nginx+uwsgi的模式来部署django. 1.安装uwsgi以及 ...

  9. Centos7下git服务器及gogs部署

    1.安装git # yum install -y git 2.创建git用户及组 # groupadd git # adduser git -g git # mkdir /home/git # mkd ...

  10. Centos7下yum安装zabbix-server的部署(一)

    一.环境准备 OS:CentOS 7.2 64bit Zabbix版本:3.0.12 MySQL版本:5.6 hostname ip 主机用途zabbix-server 10.0.0.44 服务端 z ...

随机推荐

  1. spring实战第五版总结

  2. USACO1.6 Healthy Holsteins【dfs/bfs 爆搜】

    题目传送门 饲料种数只有15 枚举每种选或不选一共也就只有$2^{15}=32768$ 爆搜可过觉得bfs要快一些? 但是dfs更方便处理字典序 只需要顺序遍历并且先搞选它的情况就可以了 而且在这种规 ...

  3. 【OpenCV开发】imread和imwrite的类型以及第三个参数关于图片压缩质量等

    本片参考博客:http://blog.csdn.net/poem_qianmo/article/details/20537737 基于OpenCV3.0,与原博客有出入. 在OpenCV1.0时代,基 ...

  4. Python_Onlineh_Hmework(基础篇,持续更新中...)

    1 递归 1.1 定义一个函数,求一个数的阶乘 def func(x): if x == 2: return 2 else: return x*func(x-1) a = func(4) print( ...

  5. centos7 中如何查看、打开、关闭防火墙。

    首先是看centos7的防火墙的状态,查看的命令为: sudo systemctl status firewalld. 查看后,看到active(running)就意味着防火墙打开了, 如果想关闭防火 ...

  6. Java学习开发第一阶段总结

    前言: 按照学院的安排我专业应该在下学期学习Java课程,因为对技术的热爱,我选择了在本学期学习Java.俗话说得好“笨鸟先飞”,那我就先学习这门课程了. 第一阶段的学习总结: 在此次阶段任务相对比较 ...

  7. Redis配置主从时报错“Could not connect to Redis at 192.168.0.50:6379: Connection refused not connected>”

    配置Redis主从时,修改完从节点配置文件,然后报错 [root@Rich七哥-0-50 redis]# /opt/redis/redis-cli -h 192.168.0.50 Could not ...

  8. [转帖]Linux杂谈: 树形显示多级目录--tree

    Linux杂谈: 树形显示多级目录--tree https://www.cnblogs.com/tp1226/p/8456539.html tree -L 最近写博客的时候偶尔会需要将文件目录结构直观 ...

  9. day 03 int bool str (索引,切片) for 循环

    基础数类型总览 10203 123 3340 int +- * / 等等 '今天吃了没?' str 存储少量的数据,+ *int 切片, 其他操作方法 True False bool 判断真假 [12 ...

  10. JS获取指定范围随机数

    常用取整数的方法 : Math.floor(Math.random() * (max - min + 1)) + min 一步步来解析: Math.random() 函数返回一个浮点,  伪随机数在范 ...