企业级远程办公vpn软件AnyLink
疫情尚未结束,给需要远程办公的人
什么是 AnyLink ?
AnyLink
是一个企业级远程办公ssl vpn
软件,可以支持多人同时在线使用。基于openconnect
协议开发,并且借鉴了ocserv
的开发思路,可以完全兼容AnyConnect
客户端。
什么是 OTP ?
一次性密码(
One Time Password
,简称OTP
),又称“一次性口令”
,是指只能使用一次的密码。一次性密码是根据专门算法、每隔60
秒生成一个不可预测的随机数字组合,iKEY
一次性密码已在金融、电信、网游等领域被广泛应用,有效地保护了用户的安全。【百度百科】
OTP
软件挺多的,比如老苏用的 Microsoft Authenticator
,还有 Google Authenticator
等等,AnyLink
官方推荐用 FreeOTP
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 anylink
,选择第二个 bjdgyc/anylink
,版本选择 latest
。
权限
勾选 使用高权限执行容器
,并点击 是
高级设置
勾选 启用自动重新启动
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 anylink
文件夹 | 装载路径 |
---|---|
docker/anylink |
/app/conf |
端口
1 | # 查看端口占用 |
443
默认是被占用的,所以需要修改端口
本地端口 | 容器端口 |
---|---|
12443 |
443 |
12080 |
8800 |
运行
在浏览器中输入 http://群晖IP:12080
就能看到管理后台的登录界面
默认账号:
admin
; 密码:123456
登录成功后的主界面
设置
在日志中,你会看到两条警告⚠️信息
进入 终端机
,「终端机」 => 「新增」 => 「通过命令启动」=> 「请输入一个命令」=> 「bash」
依次执行下面👇的命令
1 | # 生成 Passwd |
将红框中生成的内容保存,后面会用到
如果你想改后台登录密码,比如改为 abcdef
,就执行下面的命令生成对应的 Passwd
设置 server.toml
下载 server-sample.toml
文件,地址:https://github.com/bjdgyc/anylink/blob/main/server/conf/server-sample.toml
这是国人开发的项目,老苏也想用
gitee
的地址,不过打开server-sample.toml
文件会显示👇
如果你熟悉命令行,也可以用命令行下载
1 | # 进入 anylink 目录 |
如果下不了,可以自己建一个,将其重命名为 server.toml
,主要有几处可能需要修改
变量 | 值 |
---|---|
admin_pass |
填入前面获取的 Passwd 值 |
jwt_secret |
填入前面获取的 Secret 值 |
link_addr |
这是 vpn 服务对外的地址,需要新增 |
cert_file |
配合 link_addr 域名地址的证书 |
cert_key |
配合 link_addr 域名地址的证书 |
ipv4_cidr |
vpn 客户端分配的 ip 地址池 |
admin_pass
必须改,不然不然后台登录不了jwt_secret
必须改,不然会存在安全风险
link_addr
须增加,官方的demo
中并没有,是根据参考文档2
增加的,比如老苏用了vpn.laosu.ml
- 老苏是在
dnspod.cn
上做域名解析的,直接在那申请了TrustAsia
的证书
下载的证书解压后,使用 nginx
目录下的证书
原来的文件名比较长,老苏改短了,配置中做相应的修改
ipv4_cidr
如果修改了地址段,相应的ipv4_gateway
、ipv4_start
、ipv4_end
都要跟着一起修改,老苏家里用的是0
网段,老读者都知道老苏群晖的主机IP
为192.168.0.197
,所以这里改成了192.168.0.0/24
,相应的ipv4_gateway
改为了192.168.0.1
;ipv4_start
分了192.168.0.220
,ipv4_end
分了192.168.0.230
,总共就10
个IP
将 server.toml
、以及 2
个证书文件上传到 anylink
目录,现在目录中有 4
个文件了
重启容器
邮件配置
这是为了添加用户时,发邮件通知用的。进管理后台,基础信息
–> 其他设置
–> 邮件配置
,还是用的 88
邮箱做示例
添加用户组
进管理后台,用户组信息
–> 用户组列表
,添加
用户组
老苏把
DNS
指向了主路由,其实用默认的114.114.114.114
也是可以的
添加用户
进管理后台,用户信息
–> 用户列表
,添加
用户
老苏先禁用了
OTP
,但是开启OTP
的情况也是做了测试验证的
如果邮箱没问题,很快就会收到邮件
如果要显示二维码,进管理后台,基础信息
–> 其他设置
–> 其他设置
, vpn对外地址
填写 link_addr
加上端口即可
二维码主要是给 OPT
软件扫码用的,用于生成登录时需要的动态码
frp 设置
如果你是有公网 IP
的,只要路由器放行 12443
就可以了,协议为 TCP
;老苏用的是 frp
,需要在 frpc.ini
中增加下面👇这段
1 | [anylink] |
保存之后,重启 frpc
容器
使用
终于可以开始使用了,AnyConnect
客户端可以去 Stille
大神的 『 OpenWRT 路由器 OpenConnect VPN 详细图文教程 - 基础配置篇 』中找,大神将 AnyConnect
客户端按平台整理好了,致敬!
AnyConnect
客户端只要装 VPN
模块即可,其他的用不上
安装完成后启动 AnyConnect
客户端,将 link_addr
加上端口填入即可,客户端没有其他的任何设置
完成后点 Connect
,如果前面设置没有问题的话,应该会弹出登录窗口
【说明】:
禁用 OTP
的情况下,密码只要输入PIN码
启用 OTP
的情况下,密码要输入PIN码
+6
位动态码- 老苏用
Microsoft Authenticator
验证可用
输入密码之后,会弹出 Banner
,这是个欢迎页面,内容可以在管理后台设置
点 Accept
接受之后,就可以像在家里一样,直接用 192.168.0.xx
来访问家里的设备了
不用了可以点 Disconnect
断开连接
注意事项
- 不要和
tailscale
一起用 - 《中华人民共和国计算机信息网络国际联网管理暂行规定》第六条:“计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。”
- 根据工信部《工业和信息化部关于清理规范互联网网络接入服务市场的通知》的规定:“未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动。”
参考文档
bjdgyc/anylink: AnyLink是一个企业级远程办公 ssl vpn 软件,可以支持多人同时在线使用。基于 openconnect 协议开发,并且借鉴了 ocserv 的开发思路,可以完全兼容 AnyConnect 客户端。
地址:https://github.com/bjdgyc/anylink开源企业级远程办公 VPN 软件 AnyLink 的 docker 部署及使用心得 - 思有云 - IOIOX
地址:https://www.ioiox.com/archives/128.htmlOpenWRT 路由器 OpenConnect VPN 详细图文教程 - 基础配置篇 - 思有云 - IOIOX
地址:https://www.ioiox.com/archives/89.htmlMAC上Cisco AnyConnect删除不干净,造成无法重新安装的解决办法 - 简书
地址:https://www.jianshu.com/p/8cf02bfa0388