简介
AnyLink 是一个开源的企业级远程办公 SSL VPN 软件,支持多人同时在线使用。它基于 OpenConnect 协议开发,并借鉴了 ocserv 的设计思路,能够完全兼容 Cisco AnyConnect 客户端。AnyLink 使用 TLS/DTLS 进行数据加密,支持 IP 分配、用户组策略、TOTP 双因素认证、流量限制、审计功能等特性。服务器端已在 CentOS 7/8、Ubuntu 18/20 和 AnolisOS 8 等系统上测试通过,本次将使用 Docker 的方式进行快速部署和体验。
特点
- 兼容 AnyConnect 客户端,支持多平台(Windows、macOS、iOS、Android)。
- 支持 SQLite3、MySQL 等数据库,管理用户和审计日志。
- 使用 TLS/DTLS 加密,支持流量压缩和域名分流。
部署
拉取镜像
拉取 AnyLink 官方 Docker 镜像:
docker pull bjdgyc/anylink:latest
如果网络环境比较差可以使用下面的镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:latest
arm架构的设备可以使用下面的镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:arm64v8-latest
生成管理员密码和 JWT 密钥
首次部署需要生成管理员密码和 JWT 密钥,用于管理界面登录和用户认证。
第一步,先生成管理员密码:
docker run -it--rm bjdgyc/anylink tool -p your_password
替换 your_password 为自定义密码,输出示例:
Passwd:$2a$10$s58XUpuhIEnB9c2ICfqrO.u5BUuXnh4M2aqcT/t/PhraifHxiDYey
保存输出的 Passwd 字符串。
第二步,生成 JWT 密钥:
docker run -it--rm bjdgyc/anylink tool -s
输出示例:
Secret:sXkYCXiUWoTXfzQb9VRx0efJfUdgQVdsjNMepL0sHRVxWR5-70iX8g4Oa3k-fmmgl5GtW6C4FhwE3Q
保存输出的 Secret 字符串,整体操作如下图:
获取默认配置文件
首次运行容器以生成默认配置文件,并拷贝到宿主机:
docker run -itd--name anylink --privileged bjdgyc/anylink
容器会自动生成 ./conf/server.toml 和其他默认文件,拷贝配置文件到宿主机:
docker cp anylink:/app/conf ./anylink/conf
删除容器:
docker rm -f anylink
修改配置文件
编辑 ./anylink/conf/conf/server.toml,更新以下关键参数:
# 后台管理用户
admin_user="admin"
# 管理员密码填充刚才生成的
admin_pass="$2a$10$s58XUpuhIEnB9c2ICfqrO.u5BUuXnh4M2aqcT/t/PhraifHxiDYey"
# 刚才生成的 JWT 密钥
jwt_secret="sXkYCXiUWoTXfzQb9VRx0efJfUdgQVdsjNMepL0sHRVxWR5-70iX8g4Oa3k-fmmgl5GtW6C4FhwE3Q"
正式启动容器
docker run -d\
--name anylink \
--restart always \
--privileged\
-p55556:443 \
-p55556:443/udp \
-p8800:8800 \
-v ./anylink/conf:/app/conf \
bjdgyc/anylink \
-c=/app/conf/server.toml
访问管理界面
览器访问:https://服务器IP:8800,默认用户名:admin,密码为设置的密码。
登录后的界面如下:
更多详细的配置和使用教程可以参考官方的仓库:
https://gitee.com/bjdgyc/anylink
该文章在 2025/10/21 11:40:58 编辑过