0
0

docker部署openvpn

2024-01-29
2024-10-11
文章摘要
|

拉取openvpn镜像

    sudo docker pull chenji1506/openvpn:2.4.8

创建目录

sudo mkdir -pv /data/openvpn/conf

生成配置文件

1.1.1.1是本机的公网IP,按需改成自己的IP

docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_genconfig -u udp://1.1.1.1

生成密钥文件

docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 ovpn_initpki
        Enter PEM pass phrase: 123456                                       # 输入私钥密码
        Verifying - Enter PEM pass phrase: 123456                           # 重新输入一次密码
        Common Name (eg: your user,host,or server name) [Easy-RSA CA]:      # 输入一个CA名称。可以不用输入,直接回车
        Enter pass phrase for /etc/openvpn/pki/private/ca.key: 123456       # 输入刚才设置的私钥密码,完成后在输入一次

生成客户端证书

chenji改成其他名字

docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa build-client-full chenji nopass
    Enter pass phrase for /etc/openvpn/pki/private/ca.key: 123456       # 输入刚才设置的密码

导出客户端配置

docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient chenji > /data/openvpn/conf/chenji.ovpn

启动openvpn

docker run -d \
 --name openvpn \
 -v /data/openvpn:/etc/openvpn \
 -p 1194:1194/udp \
 --cap-add=NET_ADMIN \
 chenji1506/openvpn:2.4.8

openvpn用户管理

添加用户脚本

vim add_user.sh

add_user.sh的内容:

#!/bin/bash
read -p "please your username: " NAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa build-client-full $NAME nopass
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient $NAME > /data/openvpn/conf/"$NAME".ovpn
docker restart openvpn

删除用户脚本

vim del_user.sh

del_user.sh的内容:

#!/bin/bash
read -p "Delete username: " DNAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa revoke $DNAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa gen-crl
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/reqs/"DNAME".req
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/private/"DNAME".key
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/issued/"DNAME".crt
docker restart openvpn

添加用户

执行add_user.sh

./add_user.sh   # 输入要添加的用户名,回车后输入刚才创建的私钥密码

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!