很久之前转载过一篇如何在linux上搭建openvpn的文章
https://my.oschina.net/propagator/blog/824915
很多年过去,openvpn配置上有些改动,这篇文章有点过时。
最近需要利用vpn访问内网,研究了一下,发现可以用docker容器来搭建openvpn服务器,非常简单方便。
先用docker搭建openvpn
# 创建docker volume,以便保存配置文件
OVPN_DATA="ovpn-data-example"
docker volume create --name $OVPN_DATA
# 生成配置文件,--rm表示执行完后删除容器,<server_ip>表示openvpn服务器的ip地址
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://<server_ip>
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
# 运行openvpn
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
# 生成客户端无密码证书,<CLIENTNAME>为客户端名称
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full <CLIENTNAME> nopass
# 导出客户端配置文件,CLIENTNAME为客户端名称,客户端可直接利用此配置文件连接到openvpn服务器
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn
之后,就可以在客户端上导入CLIENTNAME.ovpn配置文件连接此openvpn服务器了,需要注意的是防火墙需放通1194端口。