Linux下搭建OpenVPN环境(服务端+客户端)
时间:2025-2-8 23:45 作者:Anglei 分类: 系统安全
一、前言
VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。
二、配置证书 OpenVPN
1)下载地址:https://github.com/OpenVPN/easy-rsa-old
2)解压:unzip easy-rsa-old-master.zip
3)编辑:/easy-rsa-old-master/easy-rsa/2.0/vars
4)加载配置文件修改参数信息:source vars
5)生成相关证书(在/easy-rsa-old-master/easy-rsa/2.0目录下执行)
5.1 执行./clean-all 会在目录中创建出 keys 目录,专门用于存放证书文件信息
# ./clean-all
5.2 生成根证书文件和私钥文件信息(在keys目录中会生成ca.crt(根证书)、ca.key(私钥))
# ./build-ca
5.3 生成服务端证书和秘钥文件信息(在keys目录中会生成server.cst(服务端证书)、server.csr(服务端请求证书文件)、server.key(服务端私钥文件))
# ./build-key-server server
5.4 生成客户端证书和秘钥文件信息(在keys目录中会生成client.crt(客户端证书)、client.csr(客户端请求证书文件)、client.key(客户端私钥))
# ./build-key client
5.5 生成秘钥交换文件信息(在keys目录中会生成dh2048.pem文件)
# ./build-dh
三、搭建OpenVPN(服务端)
1)安装EPEL
# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all && yum makecache
2)安装OpenVPN(默认路径在/etc/openvpn/)
# yum install -y openvpn
3)创建ta.key 文件
# openvpn --genkey --secret ta.key
4)编辑server.conf
安装openvpn时,默认生成server.conf位置在/usr/share/doc/openvpn-2.4.12/sample/sample-config-files/server.conf,文件配置第2步、第3步对应五个文件路径
5)设置openvpn 服务路由转发
# echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
6)查询:
# sysctl -p
7)启动:
# openvpn --daemon --config server.conf
四、搭建OpenVPN(客户端)
1) OpenVPN需要安装EPEL
# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all && yum makecache
2)安装(默认路径在/etc/openvpn/)
# yum install -y openvpn
3)在openvpn客户端新建一个目录,拷贝第5步中keys目录中的client.crt、client.key、ca.crt,从第6步中的第3小步中的ta.key
4)编辑client.conf(安装openvpn时,默认生成client.conf位置在/usr/share/doc/openvpn-2.4.12/sample/sample-config-files/client.conf)文件配置第2步、第3步对应四个文件路径
5)将client.conf改名为client.ovpn
6)启动vpn(注意命令中的/etc/openvpn路径要是对应的client.ovpn文件对应的目录):
# openvpn --daemon --cd /etc/openvpn --config client.ovpn --log-append /var/log/openvpn.log

推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(1) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |