很久之前轉載過一篇如何在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端口。