群晖Synology NAS docker安装带 web UI 的openvpn
docker 版openvpn,支持 web 管理。
openvpn 安全与加密相关配置参考于openvpn-install的Security and Encryption部分。
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
注意:
启用ipv6后客户端跟服务器的proto需要都指定udp6/tcp6
docker的网络需要启用ipv6支持
使用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_SUBNET | vpn子网 | 10.8.0.0/24 |
OVPN_SUBNET6 | vpn ipv6子网 | fdaf:f178:e916:6dd0::/64 |
OVPN_PROTO | 协议 tcp(6)/udp(6) | udp |
OVPN_PORT | vpn连接端口 | 1194 |
OVPN_MAXCLIENTS | vpn最大客户端连接数 | 200 |
OVPN_MANAGEMENT | openvpn管理接口监听地址 | 127.0.0.1:7505 |
OVPN_IPV6 | 启用ipv6 | false |
OVPN_GATEWAY | 启用vpn网关所有流量走vpn | false |
WEB_PORT | web端口 | 8833 |
ADMIN_USERNAME | web登录账号 | admin |
ADMIN_PASSWORD | web登录密码 | admin |
ENV_UPDATE_CONFIG | 启用环境变量自动更新配置文件 | true |
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。