2026年01月21日/ 浏览 9
在数字化时代,远程办公越来越普遍,但安全访问内网资源却常常成为痛点。今天给大家安利一个超级实用的开源神器——AnyLink!
AnyLink 是一个企业级开源 SSL VPN 软件,支持多人同时在线使用,基于 OpenConnect 协议开发,完全兼容 Cisco AnyConnect 客户端。它用 TLS/DTLS 加密传输数据,轻量高效,还能实现 NAT 或桥接模式访问内网。项目地址:
https://github.com/cherts/anylink。GitHub Star 超高,社区活跃,适合个人开发者或小团队快速上手。为什么推荐它?
免费开源:零成本部署,支持自签名证书或 Lets Encrypt。
高兼容:AnyConnect 客户端一键连接,Windows/Mac/iOS/Android 全平台。
功能强大:IP 持久映射、流量限速、TOTP 双因素认证、动态分流隧道等。
易扩展:支持 RADIUS/LDAP 认证,适合企业级场景。
第一步:准备工作
系统要求
支持平台:CentOS 7/8、Ubuntu 18.04/20.04、AnolisOS 8(推荐 Ubuntu,新手友好)。 内核:支持 tun/tap 接口(Linux 内核 ≥ 3.10)。 依赖:iptables 和 iproute2(安装命令见下)。 网络:服务器需有公网 IP 和域名(用于 HTTPS 访问),内网网卡如 eth0。 证书:RSA 或 ECC 格式(PEM),测试用自签名,生产用 Lets Encrypt。安装依赖
登录服务器,运行:
# Ubuntu/Debian sudo apt update && sudo apt install iptables iproute2 wget curl -y # CentOS/RHEL sudo yum install iptables iproute wget curl -y启用 IP 转发(VPN 核心!):
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p临时关闭防火墙测试(生产环境再细调):
# Ubuntu sudo ufw disable # CentOS sudo systemctl stop firewalld第二步:下载与安装服务器端(10 分钟)
推荐用预编译二进制包,新手别折腾源码编译。
1. 下载部署包
访问
https://github.com/cherts/anylink/releases,下载最新 anylink-0.13.1-linux-amd64.tar.gz上传到服务器(用 SCP 或 wget):
wget https://ghproxy.com/https://github.com/cherts/anylink/releases/download/v0.13.1/anylink-0.13.1-linux-amd64.tar.gz tar -zxvf anylink-0.13.1-linux-amd64.tar.gz cd anylink-deploy2. 复制二进制文件
sudo cp anylink /usr/sbin/anylink sudo chmod +x /usr/sbin/anylink3. 配置目录
sudo mkdir -p /etc/anylink sudo cp conf/server-sample.toml /etc/anylink/server.toml sudo cp conf/profile.xml /etc/anylink/ sudo cp conf/vpn_cert.crt /etc/anylink/ # 你的证书文件 sudo cp conf/vpn_cert.key /etc/anylink/ # 你的私钥文件证书生成(自签名测试用):
如果没证书,快速生成:
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 \\ -keyout /etc/anylink/vpn_cert.key \\ -out /etc/anylink/vpn_cert.crt \\ -subj "/C=CN/ST=Beijing/L=Beijing/O=MyOrg/CN=your-domain.com"(替换 `your-domain.com` 为你的域名。生产环境使用已购买的证书或阿里申请个人免费ssl证书或用 Certbot 申请 Lets Encrypt:`sudo certbot certonly --standalone -d your-domain.com`)
4. 创建工作目录
sudo mkdir -p /var/lib/anylink/files sudo cp conf/files/index.html conf/files/info.txt /var/lib/anylink/files/5. 编辑配置文件(/etc/anylink/server.toml)
用 vim 或 nano 编辑,关键配置示例(TUN + NAT 模式,最简单):
[server] listen = ":443" # HTTPS 端口 admin_listen = ":8800" # 管理后台端口 db_type = "sqlite3" # 数据库,SQLite 够用 db_source = "./conf/anylink.db" [link] link_mode = "tun" # TUN 模式(NAT) iptables_nat = true ipv4_cidr = "192.168.90.0/24" # VPN IP 段 ipv4_start = "192.168.90.100" ipv4_end = "192.168.90.200" ipv4_dns = [ "114.114.114.114"] # DNS [cert] cert_file = "/etc/anylink/vpn_cert.crt" key_file = "/etc/anylink/vpn_cert.key"保存后,设置 NAT 规则:
sudo iptables -t nat -A POSTROUTING -s 192.168.90.0/24 -o eth0 -j MASQUERADE # eth0 换成你的网卡 sudo iptables-save | sudo tee /etc/iptables.rules # 保存规则6. 启动服务(Systemd 方式)
sudo cp systemd/anylink.service /lib/systemd/system/anylink.service # Ubuntu # 或 /usr/lib/systemd/system/anylink.service # CentOS sudo systemctl daemon-reload sudo systemctl start anylink sudo systemctl enable anylink sudo systemctl status anylink # 检查状态Docker 方式(更简单,无需依赖):
支持设备/平台
Docker Hub
阿里云镜像仓库
x86_64/amd64
bjdgyc/anylink:最新
registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:latest
x86_64/amd64
bjdgyc/anylink:0.13.1
registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:0.13.1
armv8/aarch64
bjdgyc/anylink:最新
registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:arm64v8-latest
armv8/aarch64
bjdgyc/anylink:0.13.1
registry.cn-hangzhou.aliyuncs.com/bjdgyc/anylink:arm64v8-0.13.1
第三步:配置用户与测试
1. 访问管理后台
浏览器打开 `https://你的服务器内网IP:8800`(如 192.168.1.100:8800),默认账号:admin / 123456。
首次登录,修改密码!用 /anylink tool -p 新密码 生成哈希值替换配置文件。
2. 添加用户
登录后台 > 用户管理 > 新增用户。
设置用户名、密码、组别(默认组即可)。
支持 TOTP(Google Authenticator)双因素,扫描二维码绑定。
第四步:客户端连接
1. 下载客户端
官网下载 Cisco AnyConnect(免费版够用):(
https://www.cisco.com/c/en/us/support/security/anyconnect-secure-mobility-client/tsd-products-support-series-home.html)。2. 连接步骤
- 打开 AnyConnect,输入 `你的域名:443 建议按你实际的端口,以外演示是8443端口
- 选择组:ops(默认)。
输入后台添加的用户名/密码。注意如果开启了多因子认证,请在手机上打开otp输入密码后再输入otp值然后点确认。
测试环境:设置 > 偏好设置 > 取消勾选“阻止连接不受信任的服务器”。
点击连接!成功后,IP 变为 192.168.90.x,可 ping 内网资源。
常见坑:
连接失败?检查证书信任、端口 443/UDP 开放。
无网?确认 NAT 规则生效(iptables -t nat -L)。
慢?试试 DTLS-UDP 模式(配置文件中启用)。