群晖Synology NAS docker安装带 web UI 的openvpn

sunfeng 2025-08-04 10:56 阅读数 57 #synology

openvpn

docker 版openvpn,支持 web 管理。

openvpn 安全与加密相关配置参考于openvpn-install的Security and Encryption部分。

openvpn001.png

openvpn002.png

openvpn003.png

openvpn004.png

一、快速安装

1、登录群晖 NAS web 管理页面,打开container manager

    搜索并下载yyxx/openvpn镜像(或者直接导入我下载好的镜像包:yyxx/openvpn

    ssh登录SynologyNAS并切换到root权限

login as: sunfeng
sunfeng@192.168.0.100's password:
sunfeng@SynologyNAS:~$ sudo -i
Password:
root@SynologyNAS:~# docker pull yyxx/openvpn

2、新建openvpn证书及配置文件挂载目录

在ssh后台直接使用命令创建

mkdir -p /volume1/docker/openvpn/data    #路径不要照抄我的,改为自己的实际路径

或者在web页面手动创建

初始化生成证书及配置文件

cd /volume1/docker/openvpn/    #先 cd 至openvpn目录下
docker run -v $(pwd)/data:/data --rm yyxx/openvpn --init    #初始化生成证书及配置文件

3、运行 openvpn

以host模式运行openvpn

docker run -d \
  --name openvpn \
  --cap-add NET_ADMIN \
  --network host \
  -e ADMIN_USERNAME=sunfeng \
  -e ADMIN_PASSWORD=sunfeng \
  -e OVPN_SUBNET=10.10.8.0/24 \
  -e WEB_PORT=31194 \
  -v $(pwd)/data:/data \
  -v /etc/localtime:/etc/localtime:ro \
  yyxx/openvpn

运行命令不一定照抄我的,可根据自己需求修改环境变量

4、compose 安装

创建 docker-compose.yml

services:
  openvpn:
    image: yyxx/openvpn
    cap_add:
      - NET_ADMIN
    network_mode: host    #不需要host模式可以注释或删除此项,然后取消掉ports的注释
    #ports:
      #- "1194:1194/udp"
      #- "8833:8833"
    environment:
      - ADMIN_USERNAME=sunfeng
      - ADMIN_PASSWORD=sunfeng
      # 新增:VPN子网配置(覆盖默认的10.8.0.0/24)
      - OVPN_SUBNET=10.10.8.0/24
      # 新增:vpn端口(默认端口1194)
      - OVPN_PORT=31194
      # 新增:vpn协议(默认udp)
      - OVPN_PROTO=udp
      # 新增:Web管理界面端口(默认8833,可按需修改)
      - WEB_PORT=31195
      #- OVPN_IPV6=true
    volumes:
      - ./data:/data
      - /etc/localtime:/etc/localtime:ro
    #sysctls:
      #- net.ipv6.conf.default.disable_ipv6=0
      #- net.ipv6.conf.all.forwarding=1

#networks:
  #default:
    #enable_ipv6: true

创建完成,浏览器访问 https:// NAS_IP:31195 即可管理openvpn

IPV6

注意:

  1. 启用ipv6后客户端跟服务器的proto需要都指定udp6/tcp6

  2. docker的网络需要启用ipv6支持

  3. 使用openvpn-connect客户端的需要使用3.4.1以后的版本

services:
  openvpn:
    image: yyxx/openvpn
    cap_add:
      - NET_ADMIN
    ports:
      - "1194:1194/udp"
      - "8833:8833"
    environment:
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=admin
      - OVPN_IPV6=true
    volumes:
      - ./data:/data
      - /etc/localtime:/etc/localtime:ro
    sysctls:
      - net.ipv6.conf.default.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1

networks:
  default:
    enable_ipv6: true

环境变量参数

环境变量说明默认值
OVPN_DATA数据存放目录/data
OVPN_SUBNETvpn子网10.8.0.0/24
OVPN_SUBNET6vpn ipv6子网fdaf:f178:e916:6dd0::/64
OVPN_PROTO协议 tcp(6)/udp(6)udp
OVPN_PORTvpn连接端口1194
OVPN_MAXCLIENTSvpn最大客户端连接数200
OVPN_MANAGEMENTopenvpn管理接口监听地址127.0.0.1:7505
OVPN_IPV6启用ipv6false
OVPN_GATEWAY启用vpn网关所有流量走vpnfalse
WEB_PORTweb端口8833
ADMIN_USERNAMEweb登录账号admin
ADMIN_PASSWORDweb登录密码admin
ENV_UPDATE_CONFIG启用环境变量自动更新配置文件true


最后分享一个小技巧,所有需要root登录NAS后台的命令都可以通过计划任务实现


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索
标签列表