Docker镜像部署OpenVPN服务端

默认分类 · 2023-07-28

需要远程访问某内网环境,之前纯用frp映射端口太麻烦了,还是得搭个vpn方便访问内网,ovpn官方似乎没有做官方镜像,AccessServer又太重,不充钱还只能开两个连接,实属鸡肋,这里找个第三方的镜像来搭一下。

使用的镜像

  • kylemanna/openvpn:latest
    看着三年多没更新了,作者还在更其他镜像,应该是没啥大问题

部署步骤

  1. 拉取镜像

    docker pull kylemanna/openvpn:latest
  2. 创建数据卷

    docker volume create --name ovpn-data
  3. 初始化ovpn数据

    docker run -v ovpn-data:/etc/openvpn --rm \
     kylemanna/openvpn ovpn_genconfig -u udp://<这里填宿主机的ip>
    docker run -v ovpn-data:/etc/openvpn --rm -it \
     kylemanna/openvpn ovpn_initpki

    根据提示设置CA证书的密码

  4. 启动ovpn服务端

    docker run -v ovpn-data:/etc/openvpn -d \
     --restart unless-stopped \
     --name openvpn \
     -p 1194:1194/udp \
     --cap-add=NET_ADMIN \
     kylemanna/openvpn
  5. 生成客户端证书文件,CLIENTNAME可以自己取一个

    docker run -v ovpn-data:/etc/openvpn --rm -it \
     kylemanna/openvpn \
     easyrsa build-client-full CLIENTNAME nopass

    这里要输入之前设置的CA证书的密码

  6. 导出客户端证书文件,CLIENTNAME要和上一步一样

    docker run -v ovpn-data:/etc/openvpn --rm \
     kylemanna/openvpn \
     ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn

    用这一步导出的证书导入客户端,即可连接服务端所在内网

Theme Jasmine by Kent Liao