docker方式搭建
引用 https://blog.csdn.net/Doudou_Mylove/article/details/100072020
# 拉取镜像
pull jippi/pritunl:latest
# 创建挂载目录
mkdir /home/openvpn/pritunl/{mongodb,pritunl} -p
# 赋权
chown -R daemon:daemon /home/openvpn/pritunl
# 运行容器
docker run \
-d --name vpn \
--privileged \
-p 9445:9445/udp \
-p 9445:9445/tcp \
-p 9444:80/tcp \
-p 9443:443/tcp \
--restart=always \
-v /home/openvpn/pritunl/mongodb/:/var/lib/mongodb \
-v /home/openvpn/pritunl/pritunl/:/var/lib/pritunl \
jippi/pritunl:latest
# 忘记管理员密码
root@556c04adc537:/# pritunl reset-password
使用
访问服务
https://127.0.0.1:9443/
IP为部署服务器的地址
账号密码:pritunl/pritunl
重置密码
创建组织
创建用户
创建服务
关联组织
启动服务
通过docker安装OpenVPN客户端
要通过Docker安装OpenVPN客户端,请按照以下步骤进行操作:
步骤 1:安装Docker
确保您的系统上已安装Docker。您可以按照Docker官方文档的指示进行安装。
步骤 2:获取Centos7镜像
打开终端(命令提示符),运行以下命令来获取Centos7的Docker镜像:
docker pull centos:7
步骤 3:创建并运行容器
运行以下命令来创建并运行Centos7的Docker容器:
docker run -it -v /path/to/config:/etc/openvpn --privileged -d --net=host --restart=always --name openvpn-client centos:7 /bin/bash
请将 /path/to/config 替换为您存储OpenVPN配置文件的目录的路径。该命令将创建一个名为 openvpn-client 的容器,并将配置文件目录挂载到容器的 /etc/openvpn 目录中。
步骤 4:连接到容器
使用以下命令连接到正在运行的Centos7容器:
docker exec -it openvpn-client bash
步骤 5:安装依赖
yum update && yum -y install epel-release && yum -y install openvpn && yum -y install expect
步骤 6:创建expect的openvpn启动命令,通过expect能自动输入用户名和密码
注意expect中不能包含中文
在/etc/openvpn目录下创建一个openvpn-login.exp文件,并在文件中输入以下内容
#!/usr/bin/expect -f
set timeout 10
spawn openvpn --config YOUR_CONFIG_FILE
expect "Enter Auth Username:"
send "YOUR_USERNAME\n"
expect "Enter Auth Password:"
send "YOUR_PASSWORD\n"
interact
YOUR_CONFIG_FILE:从pritunl服务器上下载的 .ovpn 客户端配置文件路径,该文件建议存放至/etc/openvpn目录(即上文提到的/path/to/config目录)方便修改
YOUR_USERNAME:用户名
YOUR_PASSWORD:密码
步骤 7:启动OpenVPN连接
在容器内部,使用以下命令启动OpenVPN连接:
expect /etc/openvpn/openvpn-login.exp
请确保将 /etc/openvpn/openvpn-login.exp 替换为您的openvpn-login.exp文件的路径。
至此,您已经成功通过Docker安装并运行了OpenVPN客户端。您可以根据需要对容器进行自定义配置,并在容器内部执行适当的OpenVPN命令。请记得在完成使用后停止和删除容器。