使用 Docker 快速部署 OpenVPN 服务

1. 生成配置文件

bash
docker run -v ./volumes:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://xx.xx.xx.xx

xx.xx.xx.xx 替换为你的服务器的公共 IP 地址或域名。

2. 初始化密钥文件

bash
docker run -v ./volumes:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

3. 生成客户端证书

bash
docker run -v ./volumes:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full {客户端名称} nopass

4. 导出客户端证书

bash
docker run -v ./volumes:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient {客户端名称} > ./volumes/{客户端名称}.ovpn

导出的 {客户端名称} 需要与生成证书的 {客户端名称} 一致。

5. 创建 docker-compose 启动配置

yml
services:
  openvpn:
    container_name: openvpn
    image: kylemanna/openvpn
    ports:
      - 1194:1194/udp
    volumes:
      - ./volumes:/etc/openvpn
    cap_add:
      - NET_ADMIN
      - NET_RAW
    restart: unless-stopped

6. 启动 OpenVPN 服务

bash
docker compose up -d