使用容器部署 OpenVPN
这篇文章(5ad5ff7346021671da825337)是从 Teambition 迁移过来的
部署过程使用了开源项目:
kylemanna/docker-openvpn,详细文档请访问 https://github.com/kylemanna/docker-openvpn
- 为数据卷选个名字存放到环境变量
$OVPN_DATA,建议使用ovpn-data-前缀来方便识别。在下面的示例中请替换example。
OVPN_DATA="ovpn-data-example"- 初始化 $OVPN_DATA 容器,这个容器将用来存放配置文件与证书。 初始化过程中会提示输入密码来保护证书。下面的示例中请使用合适的域名或 IP 地址替换
VPN.SERVERNAME.COM。
docker volume create --name $OVPN_DATA
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki- 启动容器
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn- 生成客户端证书(无密码)
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass- 导出客户端配置文件(包含证书)
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn