在这个https://hub.docker.com/r/kylemanna/openvpn的基础上小小的改动了下。
创建卷
OVPN_DATA="ovpn-data-example"
docker volume create --name $OVPN_DATA
用于存放配置文件,当然也可以直接挂载文件夹,将$OVPN_DATA替换成对应的文件夹路径。
生成配置文件
docker run -v $OVPN_DATA:/etc/openvpn --rm dingzx97/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM:PORT
VPN.SERVERNAME.COM是服务器的公网IP地址或者是域名,PORT是使用的端口,服务器需要调整安全组策略,将设置的端口开放。
创建PKI
docker run -v $OVPN_DATA:/etc/openvpn --rm -it dingzx97/openvpn ovpn_initpki nopass
运行容器
docker run -v $OVPN_DATA:/etc/openvpn -itd -p PORT:1194/udp --cap-add=NET_ADMIN dingzx97/openvpn
PORT是配置时设置的端口。
生成客户端证书
docker run -v $OVPN_DATA:/etc/openvpn --rm -it dingzx97/openvpn easyrsa build-client-full CLIENTNAME nopass
CLIENTNAME起个名字。
查看所有客户端
docker run -v $OVPN_DATA:/etc/openvpn --rm dingzx97/openvpn ovpn_listclients
导出客户端配置文件
docker run -v $OVPN_DATA:/etc/openvpn --rm dingzx97/openvpn ovpn_getclients CLIENTNAME > CLIENTNAME.ovpn
CLIENTNAME对应客户端名称。
Content type
Image
Digest
sha256:5596eab0b…
Size
8.7 MB
Last updated
almost 2 years ago
docker pull dingzx97/openvpn