16

群晖NAS高级服务 - docker 部署 AnyLink 企业级远程办公 VPN 服务

 2 years ago
source link: https://www.ioiox.com/archives/129.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文是基于上篇文章 [开源企业级远程办公 VPN 软件 AnyLink 的 docker 部署及使用心得]群晖 NAS docker 部署教程.不再详细介绍 AnyLink 的相关信息,请先阅读上篇文章了解后在直接参考本文部署到群晖 NAS中.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

群晖配置 TUN/TAP 支持

由于 AnyLink 需要服务端支持 TUN/TAP 功能,群晖 NAS 必须开启 TUN/TAP 功能才能使用,否则容器将无法正常启动.

群晖 TUN/TAP 功能的开启博主是参照网上的一些教程,并且测试成功.

开启 SSH 功能

控制面板 - 终端机和 SNMP - 勾选启动 SSH 功能

终端开启 TUN/TAP 支持

macOS 使用终端, windows 使用 putty 等软件执行以下命令登陆群晖 NAS 并开启 TUN/TAP 支持

ssh [email protected]
# 使用群晖管理员账号登陆
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
由于博主已经开启了 TUN/TAP 功能支持,下图中前 4 条命令的返回结果可能和各位不同,但是最后一条显示 File descriptor inbad state 则表示成功.

创建数据目录

首次安装请确保依照教程创建以下相关文件,缺一不可,缺少文件会导致容器启动失败.

1.创建目录用于存放数据库,数据库证书文件.本文以/docker/anylink为例.

2.创建空的数据库文件.

打开群晖的文本编辑器,新建一个空文件,直接另存为data.db保存至/docker/anylink.

3.将用于链接 VPN 的域名证书上传至此目录.

AnyLink 使用 TLS/DTLS 进行数据加密,因此需要 RSA 或 ECC 证书.所以当连接 VPN 时的服务器地址需要使用域名,并且配置证书才能使用.如果是在有 动态公网 IP 的家里使用,则需要配置 DDNS 域名,

4.下载server.toml文件

https://raw.githubusercontent.com/bjdgyc/anylink/main/server/conf/server.toml

如无法下载,点击查看复制,使用文本编辑器并自行创建.

5.修改server.toml配置文件

修改server.toml中的证书名为你的域名证书名.

如果 server.toml 中的证书名与实际证书名不一致则会导致容器启动失败

5.检查所有文件

确认证书文件,data.dbserver.toml文件已修改保存.

当前适用于 0.2.1 版本
由于软件还在更新迭代中,不确定后期的安装方法是否一致,本教程建议使用 stilleshan/anylink:0.2.1 带固定版本号的镜像

docker - 注册表

搜索anylink,找到stilleshan/anylink并下载标签为最新的稳定版本,本文以0.2.1为例.

映像 - 选择镜像 - 启动

勾选使用高级权限执行容器

勾选启用自动重新启动

添加文件夹选择上文创建的/docker/anylink,装载路径/app/conf不可修改.

端口设置
AnyLink 默认的前端连接端口为443,后台管理系统端口为8800.
为避免端口冲突,需根据实际情况将此两端口映射到没被占用的端口上,本文以880044444为例.
应用完成并启动容器

选中容器 - 详情

终端机 - 新增

终端机左侧选中bash,并依次执行以下命令修改密码和密钥,将密钥信息保存.

./anylink tool -p 87654321
# 修改密码
./anylink tool -s
# 生成jwt密钥

修改配置文件

再次使用群晖的文本编辑器修改server.toml配置文件中的密码.其他名称及外部地址根据实际情况修改.

重启容器完成配置

配置 SMTP / 用户组 / 用户 / 路由器 / 客户端 / 登陆

后台的相关配置 SMTP / 用户组 / 用户 / 路由器 / 客户端 / 登陆 等操作与前言所述上一篇文章完全一致.
点击以下链接访问上文参考配置


由于 AnyLink 还在持续的更新和优化中,博主也仅仅使用了几天,同时使用场景也有限,无法给出更全面的评测.大家感兴趣的可以关注 GitHub 项目,期待后续更加完善的版本.


本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK