OpenVPN应用案例

OpenVPN服务器的搭建:http://qicheng0211.blog.51cto.com/3958621/1575273

CentOS下OpenVPN客户端配置:http://qicheng0211.blog.51cto.com/3958621/1840055

应用一、点对点安全通道

工作中可能会遇到这样的场景:由于业务需要,异地两台服务器需要安全的相互访问,除了拉专线,比较经济的方法就是通过公网建立加密隧道,openvpn是一个很好的选择。

服务端:内网IP 192.168.20.220,vpn服务端口1194通过防火墙映射到公网。

客户端:内网IP 192.168.1.220。

点对点网络的配置主要在于服务端,客户端无需特殊配置。

编辑服务端配置文件server.conf:

shell> vim /etc/openvpn/server.conf
port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh2048.pem
server 10.8.0.0 255.255.255.0         # 虚拟局域网网段,不要和实际的局域网冲突
push "route 192.168.20.220 255.255.255.255" # 推送给客户端的路由设置(服务端的IP/32)
route 192.168.1.220 255.255.255.255      # 服务端到客户端的路由(客户端的IP/32)
client-config-dir /etc/openvpn/ccd       # 客户端独立配置文件目录
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 5

在服务器上编辑client1的独立配置文件:

shell> mkdir /etc/openvpn/ccd
shell> vim /etc/openvpn/ccd/client1
iroute 192.168.1.220 255.255.255.255

客户端配置文件client.ovpn:

client
dev tun
proto tcp
remote xxx.xxx.xxx.xxx 1194 # openvpn服务端映射到公网的IP和端口
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt # 客户端client1的证书文件
key client1.key  # 客户端client1的密钥文件
remote-cert-tls server
tls-auth ta.key 1
comp-lzo
verb 3

openvpn服务端和客户端都重启一下。服务端增加的的路由:

客户端增加的路由:

测试两端互ping、互相登录都没问题。

应用、客户端安全接入服务器局域网

情景:IDC机房网络有两个网段(vlan20、40),各vlan互通,现需要一个运维跳板机,运维通过跳板机管理vlan20和vlan40服务器。

为实现上述目的,我们在机房内搭建一台openvpn服务器,客户端通过vpn服务器接入IDC机房内网。

服务端配置文件server.conf:

port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.20.0 255.255.254.0" # 推送给客户端的路由设置(vlan20:192.168.20.0/23)
push "route 192.168.40.0 255.255.254.0" # 推送给客户端的路由设置(vlan40:192.168.40.0/23)
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 5

服务端添加iptables规则使服务器可以转发数据包(对网段10.8.0.0/24的数据包做SNAT):

shell> iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
shell> service iptables save

客户端配置文件跟上个案例一样,无须更改配置。

客户端启动后,我们看下路由,到服务器端局域网的路由已经设置好了:

应用、客户端通过服务器访问Internet

为啥这么做大家都懂,省略1万字。

服务端配置文件server.conf:

port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh 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 114.114.114.114"   # 为客户端设置DNS服务器(对非win客户端无效)
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 5

服务端添加iptables规则使服务器可以转发数据包(对网段10.8.0.0/24的数据包做SNAT):

shell> iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
shell> service iptables save

客户端配置文件无须更改。我们再看一下客户端的路由:

客户端路由增加了一条走VPN的默认路由,出口IP也变成了服务器端的出口IP了。

时间: 2024-10-14 06:48:15

OpenVPN应用案例的相关文章

Openvpn技术企业级中级运维实战视频教程

课程目录: openvpn技术企业级中级运维实战(上) 1.01-课前思想必看2.02-VPN概述介绍与图解3.03-VPN的作用介绍与图解4.04-VPN的企业应用分类介绍与图解15.05-VPN的企业应用分类介绍与图解26.06-常见隧道协议介绍-PPTP7.07-常见隧道协议介绍-L2TP8.08-常见隧道协议介绍-IPSEC-SSLVPN9.09-实现vpn功能常见开源产品及实际应用特点介绍10.10-根据企业生产场景需求选择vpn产品及方案建议11.11-openvpn开源vpn产品介

openvpn生产环境部署文档

1.环境: cat/etc/redhat-release CentOS release 6.8(Final) uname -a Linuxnfs_server_177 2.6.32-642.4.2.el6.x86_64 #1 SMP Tue Aug 23 19:58:13 UTC 2016x86_64 x86_64 x86_64 GNU/Linux ntpdatepool.ntp.org 2.安装软件 lzo-2.06.tar.gz压缩模块 openvpn-2.2.2.tar.gz 2.1安装l

企业级openvpn生产标准史上最牛最全最实战课程

企业级openvpn生产标准史上最牛最全最实战课程 近100节,让你轻松精通openvpn及技术 http://edu.51cto.com/pack/view/id-277.html 企业级OpenVPN技术中级运维实战视频课程(上) 1 课前思想必看 2 VPN概述介绍与图解 3 VPN的作用介绍与图解 4 VPN的企业应用分类介绍与图解1 5 VPN的企业应用分类介绍与图解2 6 常见隧道协议介绍-PPTP 7 常见隧道协议介绍-L2TP 8 常见隧道协议介绍-IPSEC-SSLVPN 9

openvpn 的安装和使用

这里我参考的文章有 OpenVpn https://my.oschina.net/mn1127/blog/855842http://linuxchina.blog.51cto.com/938835/1130158  vpn 参数的详细含义http://www.oyblog.cn/OuYang-Blog-520175.htmlhttp://zhuimengbk.top/?post=29https://github.com/search?o=desc&q=openvpn+web&s=stars

CentOS 7 安装配置 OpenVPN Server

这篇文章描述了如何在CentOS 7 服务器上安装与配置OpenVPN服务器,以及如何编写客户端连接到新建立的OpenVPN服务器上所需的配置文件.目前OpenVPN最新版本为2.4.3(2017年9月) 由于OpenVPN Server不在默认源中,所以需要安装Extra Packages for Enterprise Linux (EPEL) 仓库,其中包含有OpenVPN的包. 1.添加epel源 可使用如下脚本,只需执行该脚本即可自动下载并完成epel源安装,前提是服务器能连上Inter

openvpn实现分流,指定IP走VPN,其它走本地网络

最近研究了Openvpn好久.现在写一点心得出来. 客户需求:看香港某几个网站使用openvpn翻墙过去,其它所有访问不能用翻墙,要走本地. 系统环境: Centos x64位 6.8, 使用在线yum安装 一.服务器端配置 详细配置参考其它配置文档 [[email protected] openvpn]# rpm -qa | grep openvpn openvpn-2.3.11-1.el6.x86_64 生成ta.key文件,用于tls-auth认证. # openvpn --genkey

解决 libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64案例

在mysql主从同步时经常会用到Xtra, XtraBackup可以说是一个相对完美的免费开源数据备份工具,支持在线无锁表同步复制和可并行高效率的安全备份恢复机制相比mysqldump来说优势较大好处多,在RHEL6中安装XtraBackup时会发生缺少依赖包的现象 本案例针对Xtra缺少依赖包的情况进行安装分析解决 1.本实验环境 [root@master ~]# uname  -r 2.6.32-573.el6.x86_64 [root@master ~]# cat /etc/redhat-

系统内存耗尽的案例分析

近日遇到一个RAC节点hang导致节点被重启的问题,最后经过分析,发现在系统运行一段时间后,系统内存就会耗尽,原本256G的内存,最后只剩几百M. 1. 问题时间段的TOP输出可以看到,内存只剩7G,而分析内存问题,TOP输出是不够的,一般情况下,Database的SGA和PGA是内存使用大户,所以,在TOP很难发现谁是使用内存最多的. 除非某些进程内存使用的格外明显 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Linux OSWbb v7.3.

CentOS系统搭建OpenVPN远程访问

修改2处(有效文件再此目录/usr/share/easy-rsa/2.0/:/etc/openvpn/checkpsw.sh 需要加X权限) openvpn是一个vpn工具,用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件,提供证书验证功能,也支持用户名密码认证登录方式,当然也支持两者合一,为服务器登录和连接提供更加安全的方式,可以在不同网络访问场所之间搭建类似于局域网的专用网络通道,配合特定的代理服务器,可用于访问特定受限网站(你懂得)或者突破内部网