0
点赞
收藏
分享

微信扫一扫

openvpn搭建

不会弹吉他的二郎腿 2024-01-07 阅读 11
linux运维

使用docker搭建,docker安装这里不再赘述。
docker版本的openvpn:https://github.com/kylemanna/docker-openvpn

  1. 定义一个变量,拉取docker镜像
OVPN_DATA="ovpn-data-example"
定义变量OVPN_DATA

docker pull kylemanna/openvpn
拉取docker镜像

  1. 初始化操作
初始化将保存配置文件和证书的$OVPN_DATA容器。容器将提示输入密码短语,以保护新生成的证书颁发机构使用的私钥。

docker volume create --name $OVPN_DATA   
创建OVPN_DATA变量的卷,用来被容器挂载,持久化保存openvpn的配置文件。创建的卷默认在/var/lib/docker/volumes/目录下。

docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
生成openvpn配置。这里需要注意的是最后的udp://VPN.SERVERNAME.COM,使用udp还是tcp协议,VPN.SERVERNAME.COM需要替换为vps的ip地址或者对应域名

docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
根据证书颁发机构生成私钥。执行之后需要输入几次密码,这个密码是自己随便定义的,前后保持一致即可。
  1. 启动openvpn容器
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn

运行容器。这里需要注意的是映射的端口和协议类型,协议类型需要跟前面第2步保持一致。
  1. 生成无需密码的客户端证书
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass
CLIENTNAME是客户端名称可以自己定义,也可以保持不变。
  1. 使用嵌入式证书检索客户端配置
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn
CLIENTNAME是客户端名称,跟上一步保持一样。CLIENTNAME.ovpn是生成的ovpn客户端配置文件,文件名可以随便定义。需要下载此配置文件,让客户端来连接当前服务器。如果在第2步创建卷的时候使用默认操作的话,那么配置文件是在/var/lib/docker/volumes/目录下。如果OVPN_DATA变量的值是ovpn-data-example,
那么配置文件就在/var/lib/docker/volumes/ovpn-data-example/_data/目录下。
举报

相关推荐

0 条评论