群晖使用 Docker 搭建 AnyConnect Server

检查 tun 模块状态
lsmod | grep tun
如果结果中无

tun

,尝试安装:
insmod /lib/modules/tun.ko
测试 tun.ko 模块是否有效
确保 tun.ko 模块可以正常工作:
mkdir /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
cat /dev/net/tun

使 tun.ko 模块持久化
模块安装需要在每次 Synology 重启时保持持久性,就必须重复使用 insmod 命令。

可以创建开机脚本搞定,执行如下命令进行创建:
cat < /usr/local/etc/rc.d/tun.sh
#!/bin/sh -e

insmod /lib/modules/tun.ko
EOF

给脚本可执行权限:
chmod a+x /usr/local/etc/rc.d/tun.sh

使用的Docker镜像:
https://hub.docker.com/r/vimagick/ocserv/
GitHub地址:
https://github.com/vimagick/dockerfiles/tree/master/ocserv

SSH登录群晖,输入sudo -i然后输入密码进入 ROOT;
输入docker pull vimagick/ocserv拉取镜像;
输入mkdir ocserv创建文件夹;
输入cd ocserv进入文件夹;
输入vi docker-compose.yml创建docker-compose配置文件;
输入:set paste使vi进入粘贴模式,可让粘贴内容不自动对齐;
i键输入以下内容:
ocserv:
image: vimagick/ocserv
container_name: ocserv
ports:
- "55443:443/tcp"
- "55443:443/udp"
environment:
- VPN_DOMAIN=域名
- OCSERV_VERSION=0.12.4
- VPN_NETWORK=192.168.99.0
- VPN_NETMASK=255.255.255.0
- LAN_NETWORK=172.17.1.0
- LAN_NETMASK=255.255.255.0
cap_add:
- NET_ADMIN
volumes:
- "/volume1/docker/ocserv/ocpasswd:/etc/ocserv/ocpasswd"
restart: always

保存退出,输入docker-compose up -d启动容器

参考:
https://www.moewah.com/archives/2750.html

群晖使用Docker搭建AnyConnect VPN教程


https://yeasy.gitbooks.io/docker_practice/compose/compose_file.html