open-vpn 部署--centos7

注意事项:

1、回环路由记得写--网关或核心交换到vpn网段路由( 或者使用iptables做一个nat,把所有虚拟ip转换为固定本地网卡ip:)
iptables -t nat -A POSTROUTING -s 10.250.250.0/24 -o eth0 -j MASQUERADE
2、配置文件中推送路由网段(推送的网段尽量不要和本地冲突,子网要注意别太大)

3、默认证书两年过期,重复执行生成证书从---#创建server1证书和签名到cp pki/crl.pem /etc/openvpn/server/结束,重启下服务,就可以了----检测命令openssl x509 -in server.crt -noout -dates

1、服务端部署

1、安装epel库和openvpn软件
yum -y install epel-release && yum -y install openvpn easy-rsa
#开启路由转发
echo  "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
2、创建OpenVPN相关的密钥--创建CA密钥,server端、client端密钥,DH和CRL PEM, TLS认证钥匙ta.key
cp -rf /usr/share/easy-rsa/3.0/* /etc/openvpn/easy-rsa/
cp -p /usr/share/doc/easy-rsa-3.0.6/vars.example /etc/openvpn/easy-rsa/vars
cd /etc/openvpn/easy-rsa/
#创建ca证书
./easyrsa init-pki
./easyrsa build-ca nopass
#创建server1证书和签名
./easyrsa gen-req server1 nopass         #Enter
./easyrsa sign-req server server1        #需要输入yes
 #创建client证书和签名
./easyrsa gen-req client1 nopass           #Enter
./easyrsa sign-req client client1          #需要输入yes
#创建dh、tls、crl(证书撤销秘钥)
./easyrsa gen-dh
openvpn --genkey --secret /etc/openvpn/easy-rsa/ta.key
./easyrsa  gen-crl
#将秘钥拷贝至相应目录
cp -p pki/ca.crt /etc/openvpn/server/
cp -p pki/issued/server1.crt /etc/openvpn/server/
cp -p pki/private/server1.key /etc/openvpn/server/
cp -p ta.key /etc/openvpn/server/
cp -p pki/ca.crt /etc/openvpn/client/
cp -p pki/issued/client1.crt /etc/openvpn/client/
cp -p pki/private/client1.key /etc/openvpn/client/
cp -p ta.key /etc/openvpn/client/
cp pki/dh.pem /etc/openvpn/server/
cp pki/crl.pem /etc/openvpn/server/
cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn/
3、编辑配置文件 /etc/openvpn/server.conf(注意在路由设备中加一条到虚拟网段的路由,下一跳地址为物理机ip)
cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn/      #拷贝实例修改或直接拷贝以下内容
vim /etc/openvpn/server.conf

local 0.0.0.0    #监听地址
port 1194        #监听端口
proto tcp        #监听协议
dev tun          #采用路由隧道模式
ca /etc/openvpn/server/ca.crt              #ca证书路径
cert /etc/openvpn/server/server1.crt       #服务器证书
key /etc/openvpn/server/server1.key        #服务器秘钥
dh /etc/openvpn/server/dh.pem              #密钥交换协议文件
#####注意在设备中加一条到10.100.100.0虚拟网段的路由!!!!
server 10.100.100.0 255.255.255.0          ####给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
#####注意在设备中加一条到10.100.100.0虚拟网段的路由!!!!
ifconfig-pool-persist ipp.txt
#push "redirect-gateway def1 bypass-dhcp"      #推送默认路由(所有流量走vpn)
push "route 192.168.0.0 255.255.255.0"           #推送客户端常用路由(根据自己内网网段来写或修改客户端配置添加路由)
push "dhcp-option DNS 192.168.5.251"           #dhcp分配dns
client-to-client       #客户端之间互相通信
keepalive 10 120       #存活时间,10秒ping一次,120 如未收到响应则视为断线
comp-lzo               #传输数据压缩
max-clients 100        #最多允许 100 客户端连接
user openvpn           #用户
group openvpn          #用户组
cipher AES-256-CBC     #加密方式--客户端必须一致
persist-key
persist-tun
status /var/log/openvpn-status.log
log         /var/log/openvpn.log
verb 3
#以下参数为用户认证使用
script-security 3
auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env    #指定用户认证脚本
username-as-common-name
verify-client-cert none
4、编写用户认证脚本文件 (脚本是由openvpn官网提供)
vim /etc/openvpn/checkpsw.sh
#!/bin/sh
###########################################################
# checkpsw.sh (C) 2004 Mathias Sundman 
# This script will authenticate OpenVPN users against
# a plain text file. The passfile should simply contain
# one row per user with the username first followed by
# one or more space(s) or tab(s) and then the password.

PASSFILE="/etc/openvpn/psw-file"
LOG_FILE="/etc/openvpn/openvpn-password.log"
TIME_STAMP=`date "+%Y-%m-%d %T"`
###########################################################

if [ ! -r "${PASSFILE}" ]; then
  echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >>${LOG_FILE}
  exit 1
fi

CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`

if [ "${CORRECT_PASSWORD}" = "" ]; then 
  echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
  exit 1
fi

if [ "${password}" = "${CORRECT_PASSWORD}" ]; then 
  echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
  exit 0
fi

echo "${TIME_STAMP}: Incorrect password: username=\"${username}\",     password=\"${password}\"." >> ${LOG_FILE}
exit 1

#给脚本添加执行权限
chmod 755 /etc/openvpn/checkpsw.sh
#编辑密码文件
vim /etc/openvpn/psw-file
tom  123456
Jerry 654321
#前面为用户名,后面为密码。 中间使用空格分开
5、执行启动服务(端口使用1194 公网出口记得放行)
openvpn /etc/openvpn/server.conf

2、客户端登录

1、用户方式登录

下载安装openvpn gui
微云连接:https://share.weiyun.com/PD3PzL7h
配置文件在服务端/usr/share/doc/openvpn-2.4.11/sample/sample-config-files/下,名称为clent.conf

将服务端的ca.crt 一同下载,和配置文件一个目录(或配置client.conf中加入ca参数)
cd /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/
sz client.conf 
cd /etc/openvpn/client
sz ca.crt

修改配置文件client.conf(内容如下-公网ip记得修改);修改文件名为client.ovpn,然后将包含ca.crt和client.ovpn文件的目录拷贝至openVPN-gui的config目录中或者选导入配置文件;

client
dev tun
proto tcp
remote 公网ipxxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cipher AES-256-CBC
comp-lzo
verb 3
auth-user-pass              #使用用户名密码登录openvpn服务器
auth-nocache

##---------以下为将ca.crt证书写入到客户端文件的方式(直接给一个client.ovpn文件即可)------------##
client
dev tun
proto tcp
remote 公网ipxxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
<ca>
-----BEGIN CERTIFICATE-----
MIIDNTCCAh2gAwIBAgIJAJn8QBQqDhwqMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
BAMMC0Vhc3ktUlNBIENBMB4XDTIzMDMyNjExMzEwNVoXDTMzMDMyMzExMzEwNVow
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDM+jOOUMSZvz+4zODX/sMbZnqQKWf63UGYl8eJ8boXt605BBa3C4Tq
a2yhTvUZEjxK3jzz9jLJFBJXFUtRjBXhxoa6pcp3qV5IUh7PJ5JsoReVUnBPj7Xs
bh7BFUobZHXAgmNe7dLiOFQ4O6En4aWTRmTPqCMhAiNxtYm5SJ0R65y8vJUCQqgV
cL+ZnWAXm042t2FrcTIPkOvDNa9mDkg/jeB3eHQKjTSV5wM+ioSQ78dlODSfN4ly
3vjelqYRUZKwalwIZM4bc3PuocDUidFxzbNLRXHLLqnE0MgldcTGG350rC/azJ6r
U9qDpmWdgNn4aOGTvjIz0p8E0p3kk5c9AgMBAAGjgYUwgYIwDAYDVR0TBAUwAwEB
/zAdBgNVHQ4EFgQUmOswib9VomrtOyTtXJ/jSv/eTjIwRgYDVR0jBD8wPYAUmOsw
ib9VomrtOyTtXJ/jSv/eTjKhGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBggkA
mfxAFCoOHCowCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQCKY4QVn9L8
qZJdvqouYekcZxsXqQN2gutKt0hm7pNNnhu9S/t0KIzmOX6QHkS6AA7WALfIhZy1
4wCwCSLNn3YF5a7h78NENO9S2EmkDwPPZQ/a6dXYeuAX0sHJzKo7iSSxKlbFzPGk
zL9oLQHsD083nxUIGbdIdR9dqW92PD7PasJvJCBSnOpGhYhprfP+d5G/GByc/cMZ
Zr0IpLIabzg8NipnabU20aQvIIwfPFmzBoMw7FHnutEy/rxf3Vt3Moo60V+BNdQ/
kj/2Isi+hxa46jsJ0ogpQYttlMpR/nBlX8WYzkbVsXnBxt5oee7ZJHyB/C6JhE0Y
x+FzN62BgVW7
-----END CERTIFICATE-----
</ca>
cipher AES-256-CBC
comp-lzo
verb 3
auth-user-pass              #使用用户名密码登录openvpn服务器
auth-nocache

然后连接
image.png

image.png

2、客户端使用证书登录

用于证书认证的客户端

cd /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/
sz client.conf 
cd /etc/openvpn/client
sz ca.crt client1.crt client1.key

修改配置文件client.conf(内容如下-公网ip记得修改);修改文件名为client.ovpn,然后将包含ca.crt client1.crt client1.key和client.ovpn文件的目录拷贝至openVPN-gui的config目录中或者选导入配置文件;

client
dev tun
proto tcp
remote 公网ipxxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
verb 3

直接不需要输入账号密码就可以登录了


参考文章:
open-vpn部署
https://www.jianshu.com/p/0ce6560b2279
常见错误
https://me.jinchuang.org/archives/573.html
https://blog.csdn.net/weixin_34256074/article/details/92584557
https://me.jinchuang.org/archives/573.html

——————
pptp-vpn
https://me.jinchuang.org/archives/517.html
1、安装epel源和pptpd服务

[root@pptp-vpn ~]    yum install epel-release -y
[root@pptp-vpn ~]    yum install ppp ppp-devel pptpd -y

2、修改相关配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容