一、概述
OpenVPN是一个开源的VPN软件包,可以创建基于SSL/TLS的安全的VPN隧道,支持多种操作系统和平台。OpenVPN包含:社区版(Community Edition),商业版(Access Server)。
- openvpn
社区版是完全免费的,但是需要用户有一定的Linux和命令行的知识,以及自己配置和管理VPN服务器和客户端。社区版提供了OpenVPN Connect客户端,可以在Windows, macOS, Linux, Android和iOS上使用。
- openvpn-as
商业版是一个付费的VPN解决方案,提供了一个易于使用的Web界面,可以方便地管理和配置VPN服务器和客户端。商业版还提供了预配置的客户端软件,以及在多个云平台上部署的选项²。商业版提供了两个免费的VPN连接授权,可以用于试用³。
- CloudConnexa
CloudConnexa是OpenVPN的一个云端VPN解决方案,可以让您轻松地创建和管理安全的虚拟网络,无需自己安装和维护VPN服务器。CloudConnexa提供了多个全球区域的接入点,以及多种网络安全功能,如零信任访问、内容过滤、灵活的路由等。CloudConnexa还提供了三个免费的VPN连接授权,可以用于试用。
二、安装
以下我们来讲讲openvpn社区版的安装:
openvpn的安装包含两部分,即openvpn server及openvpn client。
2.1、Docker搭建openvpn server
准备好一台主机,并安装好docker(docker官网下载最新的安装包),下载openvpn镜像docker pull kylemanna/openvpn:latest。kylemanna/openvpn是目前使用率最高的openvpn镜像。
1、使用openvpn生成配置文件
mkdir -p /www/wwwroot/openvpn
docker run -v /www/wwwroot/openvpn:/etc/openvpn --rm kylemanna/openvpn:latest ovpn_genconfig -u udp://xx.xx.xx.xx
执行完命令后可在目录/www/wwwroot/openvpn中看到相应的配置文件;我这里使用的是upd方式,当然你也可以改成tcp://
2、初始化密钥文件
docker run -v /www/wwwroot/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:latest ovpn_initpki
执行过程中需要先设置ca密码(如123456),Common Name可不设置直接按回车继续默认是server,接着需要输入ca密码更新密钥库以及生成crl文件;
3、生成客户端证书
docker run -v //www/wwwroot/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:latest easyrsa build-client-full openvpn-client nopass
其中openvpn-client为自定义名称,你也可修改成自己定义的名称,生成的过程需要输入ca密码;
4、导出客户端的配置文件openvpn-client.ovpn
docker run -v /www/wwwroot/openvpn:/etc/openvpn --rm kylemanna/openvpn:latest ovpn_getclient openvpn-client > /www/wwwroot/openvpn/openvpn-client.ovpn
注意openvpn-client名称需与第三步生成时命名一致,此时生成的配置文件openvpn-client.ovpn即可用于客户端连接;
5、启动openvpn
docker run -v /www/wwwroot/openvpn:/etc/openvpn -d -p 1194:1194/udp --restart=always --name openvpn --cap-add=NET_ADMIN --sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.default.forwarding=1 --sysctl net.ipv6.conf.all.forwarding=1 kylemanna/openvpn:latest
注意防火墙是否关闭,没关闭需要开放1194为udp端口。到这里openvpn服务端就安装完成了。
赞赏
微信赞赏支付宝赞赏