前言
本文是基于上篇文章 [开源企业级远程办公 VPN 软件 AnyLink 的 docker 部署及使用心得] 的群晖 nas docker 部署教程.不再详细介绍 AnyLink 的相关信息,请先阅读上篇文章了解后在直接参考本文部署到群晖 nas中.
安装流程
群晖配置 TUN/TAP 支持
由于 AnyLink 需要服务端 支持 TUN/TAP 功能,群晖 nas 必须开启 TUN/TAP 功能才能使用,否则容器将无法正常启动.
开启 SSH 功能
控制面板 – 终端机和 SNMP – 勾选启动 SSH 功能
终端开启 TUN/TAP 支持
macOS 使用终端, windows 使用 putty 等软件执行以下命令登陆群晖 nas 并开启 TUN/TAP 支持
1 2 3 4 5 6 7 8 9 10 |
<pre class="inline:true decode:1 " >ssh xxxx@192.168.1.8 # 使用群晖管理员账号登陆 sudo -i # 切换至 root # 依次执行以下 5 条命令 insmod /lib/modules/tun.ko mkdir /dev/net mknod /dev/net/tun c10 200 chmod 600/dev/net/tun cat /dev/net/tun |
创建数据目录
1.创建目录用于存放 数据库, 数据库及 证书文件.本文以 /docker/anylink为例.
2.创建空的 数据库文件.
打开群晖的 文本编辑器,新建一个空文件,直接另存为 data.db保存至 /docker/anylink.
3.将用于链接 vpn 的域名证书上传至此目录.
4.下载 server.toml文件
1 |
<pre class="inline:true decode:1 " >https://raw.githubusercontent.com/bjdgyc/anylink/main/server/conf/server.toml |
server.toml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<pre class="inline:true decode:1 " >#服务配置信息 #其他配置文件,可以使用绝对路径 #或者相对于server.toml的路径 #数据文件 db_file = "./data.db" #证书文件 cert_file = "./test_vpn_cert.pem" cert_key = "./test_vpn_key.pem" ui_path = "../ui" files_path = "../files" #日志目录,为空写入标准输出 #log_path = "../log" log_path = "" log_level = "info" #系统名称 issuer = "XX公司VPN" #后台管理用户 admin_user = "admin" #pass 123456 admin_pass = "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke" jwt_secret = "iLmspvOiz*%ovfcs*wersdf#^heR8pNU^4XxBm&mW$aPCjSRMbYH#&" #vpn服务对外地址,影响开通邮件二维码 link_addr = "vpn.xx.com" #前台服务监听地址 server_addr = ":443" #后台服务监听地址 admin_addr = ":8800" #开启tcp proxy protocol协议 proxy_protocol = false link_mode = "tun" #客户端分配的ip地址池 ipv4_cidr = "192.168.10.0/24" ipv4_gateway = "192.168.10.1" ipv4_start = "192.168.10.100" ipv4_end = "192.168.10.200" #最大客户端数量 max_client = 100 #单个用户同时在线数量 max_user_client = 3 #IP租期(秒) ip_lease = 1209600 #默认选择的组 default_group = "one" #客户端失效检测时间(秒) dpd > keepalive cstp_keepalive = 20 cstp_dpd = 30 mobile_keepalive = 50 mobile_dpd = 60 #session过期时间,用于断线重连,0永不过期 session_timeout = 3600 auth_timeout = 0 |
5.修改 server.toml配置文件
修改 server.toml中的证书名为你的域名证书名.
5.检查所有文件
确认
证书文件,
data.db及
server.toml文件已修改保存.
启动容器
由于软件还在更新迭代中,不确定后期的安装方法是否一致,本教程建议使用 stilleshan/anylink:0.2.1 带固定版本号的镜像
docker – 注册表
搜索 anylink,找到 stilleshan/anylink并下载标签为最新的稳定版本,本文以 0.2.1为例.
映像 – 选择镜像 – 启动
勾选使用高级权限执行容器
高级设置
勾选启用自动重新启动
卷
添加文件夹选择上文创建的
/docker/anylink,装载路径
/app/conf不可修改.
端口设置
AnyLink 默认的前端连接端口为
443,后台管理系统端口为
8800.
为避免端口冲突,需根据实际情况将此两端口映射到没被占用的端口上,本文以
8800和
44444为例.
应用完成并启动容器
配置容器
选中容器 – 详情
终端机 – 新增
修改密码
终端机左侧选中 bash,并依次执行以下命令修改密码和密钥,将密钥信息保存.
1 2 3 4 |
<pre class="inline:true decode:1 " >./anylink tool -p 87654321 # 修改密码 ./anylink tool -s # 生成jwt密钥 |
修改配置文件
再次使用群晖的文本编辑器修改
server.toml配置文件中的密码.其他名称及外部地址根据实际情况修改.
重启容器
重启容器完成配置
配置 SMTP / 用户组 / 用户 / 路由器 / 客户端 / 登陆
后台的相关配置
SMTP / 用户组 / 用户 / 路由器 / 客户端 / 登陆 等操作与前言所述上一篇文章完全一致.
点击以下链接访问上文参考配置
结语
由于 AnyLink 还在持续的更新和优化中,博主也仅仅使用了几天,同时使用场景也有限,无法给出更全面的评测.大家感兴趣的可以关注 GitHub 项目,期待后续更加完善的版本.
本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面