AnyLink 是一个企业级远程办公sslvpn的软件,可以支持多人同时在线使用。
AnyLink 基于 ietf-openconnect 协议开发,并且借鉴了 ocserv 的开发思路,使其可以同时兼容 AnyConnect 客户端。
升级 go version = 1.15
需要提前安装好 golang 和 nodejs
git clone https://github.com/go-kiss/anylink.git
cd anylink
make
# 注意使用root权限运行
sudo ./anylink -conf="conf/server.toml"
# 默认管理后台访问地址
# http://host:8800
# 默认账号密码
# admin 123456
- IP分配(实现IP、MAC映射信息的持久化)
- TLS-TCP通道
- DTLS-UDP通道
- 兼容AnyConnect
- 用户组支持
- 多用户支持
- TOTP令牌支持
- 流量控制
- 后台管理界面
- 访问权限管理
默认配置文件内有详细的注释,根据注释填写配置即可。
# 生成后台密码
./anylink tool -p 123456
# 生成jwt密钥
./anylink tool -s
添加 systemd脚本
- anylink 程序目录放入
/usr/local/anylink-deploy
systemd 脚本放入:
- centos:
/usr/lib/systemd/system/
- ubuntu:
/lib/systemd/system/
操作命令:
- 启动:
systemctl start anylink
- 停止:
systemctl stop anylink
- 开机自启:
systemctl enable anylink
-
获取镜像
docker pull go-kiss/anylink:latest
-
生成密码
docker run -it --rm go-kiss/anylink tool -p 123456 #Passwd:$2a$10$lCWTCcGmQdE/4Kb1wabbLelu4vY/cUwBwN64xIzvXcihFgRzUvH2a
-
生成jwt secret
docker run -it --rm go-kiss/anylink tool -s #Secret:9qXoIhY01jqhWIeIluGliOS4O_rhcXGGGu422uRZ1JjZxIZmh17WwzW36woEbA
-
启动容器
docker run -itd --name anylink --privileged \ -p 443:443 -p 8800:8800 \ --restart=always \ go-kiss/anylink
-
使用自定义参数启动容器
docker run -itd --name anylink --privileged \ -e IPV4_CIDR=192.168.10.0/24 \ -p 443:443 -p 8800:8800 \ --restart=always \ go-kiss/anylink \ -c=/etc/server.toml --admin_addr=:8080
-
构建镜像
#获取仓库源码 git clone https://github.com/go-kiss/anylink.git # 构建镜像 docker build -t anylink .
- 开启服务器转发
# flie: /etc/sysctl.conf
net.ipv4.ip_forward = 1
#执行如下命令
sysctl -w net.ipv4.ip_forward=1
- 设置nat转发规则
# eth0为服务器内网网卡
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
- 使用AnyConnect客户端连接即可
欢迎提交 PR、Issues,感谢为AnyLink做出贡献。