准备工作
本教程主要讲怎么使用docker
及docker-compose
搭建一个OpenVPN服务器,需要进行以下操作:
- 安装
docker
服务,参考Install Docker;
- 安装
docker-compose
工具,参考Install Docker Compose;
- 拉取镜像
kylemanna/openvpn
。
安装并运行OpenVPN服务
设置环境变量
1 2 3 4
| OVPN_DATA=`pwd`/ovpn_data
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服务
创建客户端
假设客户端名称为: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
|