0%

Installing OpenVPN in Docker

准备工作

本教程主要讲怎么使用dockerdocker-compose搭建一个OpenVPN服务器,需要进行以下操作:

  1. 安装docker服务,参考Install Docker
  2. 安装docker-compose工具,参考Install Docker Compose
  3. 拉取镜像kylemanna/openvpn

安装并运行OpenVPN服务

设置环境变量

1
2
3
4
# 设置OpenVPN数据存放位置
OVPN_DATA=`pwd`/ovpn_data
# 设置OpenVPN域名,也可以设置为ip
OVPN_DOMAIN=openvpn.example.com

初始化OVPN_DATA

1
2
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://$OVPN_DOMAIN
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

编写docker-compose.yaml文件

1
2
3
4
5
6
7
8
9
10
11
version: '2'
services:
openvpn:
image: kylemanna/openvpn
ports:
- 1194:1194/udp
restart: always
volumes:
- ./ovpn_data:/etc/openvpn
cap_add:
- NET_ADMIN

启动OpenVPN服务

1
docker-compose up -d

创建客户端

假设客户端名称为:CLIENTNAME

创建客户端

1
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass

导出客户端配置文件

1
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn