51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Vyos-开源篇-5】- Vyos 部署 AnyLink SSLVPN

文章介绍:使用当前最新版本Vyos-1.4.0-epa2部署AnyLink,AnyLink是一个企业级SSLVPN软件,可以支持多人同时在线使用。基于 openconnect 协议开发,并且借鉴了 ocserv 的开发思路,可以完全兼容 AnyConnect 客户端,AnyLink 使用 TLS/DTLS 进行数据加密,因此需要 RSA 或 ECC 证书,可以通过 Let's Encrypt 和 TrustAsia 申请免费的 SSL 证书,AnyLink 服务端支持Centos,Ubuntu,Debian等系统,如需要安装在其他系统,需要服务端支持 tun/tap 功能、ip 设置等命令。

一、项目来源 {#一-项目来源}

1.1、Gitee-bjdgyc {#1-1-Gitee-bjdgyc}

bjdgyc/anylink

1.2、GitHub-bjdgyc {#1-2-GitHub-bjdgyc}

bjdgyc/anylink

二、部署准备 {#二-部署准备}

2.1、vyos镜像 {#2-1-vyos镜像}

vyos-1.4.0-epa2-amd64 vyos-1.4.0-epa2-amd64

2.2、anylink服务端 {#2-2-anylink服务端}

anylink-0.11.4-linux-amd64.tar.gz anylink-0.11.4-linux-amd64.tar.gz

2.3、一个域名 {#2-3-一个域名}

Namesilo最便宜的域名一年不到15元(申请后托管cloudflare)

ClouDNS,每个账户提供一个免费的二级域名(申请后托管cloudflare)

2.4、一个公网IP {#2-4-一个公网IP}

如果你没有公网IP,恰巧你是用vyos部署的,那我可以给你一个公网端口测试(仅限vyso部署免费提供)。

2.5、VPN客户端 {#2-5-VPN客户端}

2.5.1、Cisco AnyConnect {#2-5-1-Cisco-AnyConnect}

本链接由博主提供免费Cisco官网的最新客户端软件,以及免费开源的OpenConnect客户端。

Cisco Secure Client

2.5.2、AnyLink Client {#2-5-2-AnyLink-Client}

此链接是GitHub一位项目开发者专门为AnyLink开发的客户端(支持Windwos,macOS,Linux)。

AnyLink Client

2.6、totp客户端 {#2-6-totp客户端}

2.6.1、安卓动态令牌 {#2-6-1-安卓动态令牌}

Andoid

2.6.2、苹果动态令牌 {#2-6-2-苹果动态令牌}

iOS

2.7、ssh工具 {#2-7-ssh工具}

MobaXterm

三、安装Vyos {#三-安装Vyos}

3.1、安装 {#3-1-安装}

如果你不会使用VMware安装vyos系统,请先查看如下教程。

【Vyos-开源篇-1】- VMware安装vyos虚拟机

yydy_2024-03-23_20-56-57

3.2、基础配置 {#3-2-基础配置}

yydy_2024-03-23_21-11-53

3.3、必要配置 {#3-3-必要配置}

这一步是为了后面web登录时需要启用otp动态令牌的话,需要把Vyos本地系统时间同步到网络时间一致,否则可能会出现登录不上系统的情况。

conf
set service ntp server ntp.aliyun.com
set system time-zone 'Asia/Shanghai'
commit
save

四、安装AnyLink {#四-安装AnyLink}

4.1、拉取文件 {#4-1-拉取文件}

wget -P /tmp https://github.com/bjdgyc/anylink/releases/download/v0.11.4/anylink-0.11.4-linux-amd64.tar.gz

4.2、解压文件 {#4-2-解压文件}

tar -zxvf /tmp/anylink-0.11.4-linux-amd64.tar.gz

4.3、移动文件 {#4-3-移动文件}

sudo mv anylink-deploy/ /usr/local/

4.4、赋予权限 {#4-4-赋予权限}

chmod +x /usr/local/anylink-deploy/anylink

4.5、移动服务文件 {#4-5-移动服务文件}

sudo mv /usr/local/anylink-deploy/deploy/anylink.service /etc/systemd/system

4.6、赋予权限 {#4-6-赋予权限}

chmod +x /etc/systemd/system/anylink.service

4.7、启动服务 {#4-7-启动服务}

sudo systemctl start anylink

4.8、查看服务 {#4-8-查看服务}

sudo systemctl status anylink

yydy_2024-03-23_21-24-42

4.9、开机自启 {#4-9-开机自启}

sudo systemctl enable anylink

4.10、Web访问 {#4-10-Web访问}

浏览器打开,https://your-ip:8800
默认账户:admin,默认密码:123456

yydy_2024-03-23_21-49-13
yydy_2024-03-23_21-49-48

五、自定义AnyLink {#五-自定义AnyLink}

5.1、进入文件目录 {#5-1-进入文件目录}

cd /usr/local/anylink-deploy/

5.2、停止服务 {#5-2-停止服务}

sudo systemctl stop anylink

5.3、创建新密码 {#5-3-创建新密码}

请把你的"Passwd:"后面的都复制到记事本,这就是abc@123加密后的密文,稍后需要用来替换服务端配置文件。

./anylink tool -p abc@123

Passwd:$2a$10$eO7aH3twg6xzsw/oY29ki9Joic8wrsF4ZhufVmGxVkC38h0jtn.dbK

5.4、创建jwt密钥 {#5-4-创建jwt密钥}

请把你的"Secret:"后面的都复制到记事本,这就是jwt加密后的密文,稍后需要用来替换服务端配置文件。

./anylink tool -s

Secret:sjjP3Me68K-ppXe-au4MppLifqbEgLu19gc1fl7DrZpBcE5donOPCgqer

5.5、创建动态令牌(可选) {#5-5-创建动态令牌-可选-}

如果开启了totp动态令牌认证登录,则登录密码将变成:abc@123+六位数字(中间没有:"+"号)
请把你的"Otp:"后面的都复制到记事本,这就是totp加密后的密文,稍后需要用来替换服务端配置文件。

./anylink tool -o

Otp:35TQE2F2AHYR6B3CKOXZVSZGGKLNLIM5HJ6VDG2TOEVRAGY3SVF5A

六、修改服务端配置 {#六-修改服务端配置}

6.1、进入conf目录 {#6-1-进入conf目录}

cd conf/

6.2、编辑server.toml {#6-2-编辑server-toml}

nano server.toml

6.2.1、修改issuer {#6-2-1-修改issuer}

自定义内容

issuer = "杨杨得亿-AnyLink-SSLVPN"

6.2.2、修改管理员账户 {#6-2-2-修改管理员账户}

admin_user = "yydy"

6.2.3、修改密码 {#6-2-3-修改密码}

把上面5.3步骤的密文复制到双引号里面,把旧的删除。

admin_pass = "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"

6.2.4、修改jwt {#6-2-4-修改jwt}

把上面5.4步骤的密文复制到双引号里面,把旧的删除。

jwt_secret = "abcdef.0123456789.abcdef"

6.2.5、开启totp(可选) {#6-2-5-开启totp-可选-}

把上面5.5步骤的密文复制到双引号里面。

admin_otp = ""

6.2.6、修改客户端IP {#6-2-6-修改客户端IP}

默认是192.168.90.0/24,如果和内网冲突请修改,vyos部署时下面的ipv4_master默认就是eth0,如果是linux部署,请使用"ip addr"查看服务器上网网卡名称

ipv4_master = "eth0"
ipv4_cidr = "100.64.90.0/24"
ipv4_gateway = "100.64.90.1"
ipv4_start = "100.64.90.2"
ipv4_end = "100.64.90.200"

6.2.7、关闭display_error {#6-2-7-关闭display-error}

display_error = false

6.3、开启服务 {#6-3-开启服务}

sudo systemctl start anylink

yydy_2024-03-23_22-44-10

6.4、重登Web {#6-4-重登Web}

yydy_2024-03-23_23-57-08

七、Web功能配置 {#七-Web功能配置}

主要介绍部分实用功能,其他未介绍的功能请看官方文档。

7.1、基础信息配置 {#7-1-基础信息配置}

这里以qq邮箱为例。

7.1.1、邮箱配置 {#7-1-1-邮箱配置}

yydy_2024-03-26_23-00-52

yydy_2024-03-26_23-00-00

yydy_2024-03-26_22-58-14

7.1.2、证书设置 {#7-1-2-证书设置}

这里我是使用Let's Encrypt,使用托管到cloudflare的域名进行证书申请,我直接截图重点位置,就是DNS的token获取,下面所有操作完后,点击保存获得到一串token字段,请保存好。

yydy_2024-03-26_23-31-18

yydy_2024-03-26_23-33-12

7.1.3、其他设置 {#7-1-3-其他设置}

yydy_2024-03-26_23-46-14

7.2、创建用户组列表 {#7-2-创建用户组列表}

把里面默认的俩个删除(all和ops),然后自己新建。

7.2.1、删除默认组 {#7-2-1-删除默认组}

yydy_2024-03-24_22-54-33

7.2.2、创建普通用户组 {#7-2-2-创建普通用户组}

普通用户组只下发内网明细路由走隧道。

yydy_2024-03-28_16-57-05

yydy_2024-03-24_23-06-14

yydy_2024-03-24_23-09-21

yydy_2024-03-24_23-11-52

yydy_2024-03-24_23-17-03

7.2.3、创建全局用户组 {#7-2-3-创建全局用户组}

全局用户组下发八个零的默认路由,全部路由走隧道。

yydy_2024-03-24_23-18-27

yydy_2024-03-24_23-06-14

yydy_2024-03-24_23-20-58

yydy_2024-03-24_23-11-52

yydy_2024-03-24_23-17-03

7.2.4、创建域名分流用户组 {#7-2-4-创建域名分流用户组}

域名用户组指定域名走隧道。

yydy_2024-03-24_23-21-44

yydy_2024-03-24_23-06-14

yydy_2024-03-26_22-43-42

yydy_2024-03-24_23-11-52

yydy_2024-03-26_22-46-05

7.3、创建用户 {#7-3-创建用户}

yydy_2024-03-26_23-57-45

yydy_2024-03-26_23-55-47

yydy_2024-03-26_23-57-00

八、客户端测试 {#八-客户端测试}

8.1、测试普通用户组 {#8-1-测试普通用户组}

普通用户权限只能访问内网,国内DNS223.5.5.5,国外DNS8.8.8.8都会走本地上网网卡。

yydy_2024-03-27_00-07-20

yydy_2024-03-27_00-09-36

8.2、添加SNAT {#8-2-添加SNAT}

set nat source rule 100 outbound-interface name eth0 #vyos上网出接口
set nat source rule 100 source address 100.64.90.0/24 #AnyLink-sslvpn的客户端网段
set nat source rule 100 translation address masquerade #nat成出接口上网

8.3、测试tracert {#8-3-测试tracert}

yydy_2024-03-27_00-12-58

8.4、测试全局用户组 {#8-4-测试全局用户组}

全局用户权限是所有流量都走vpn隧道,所以内网走vpn,国内外dns223.5.5.5和8.8.8.8都会走vpn,可以通过路由表查看详细路由。

yydy_2024-03-27_00-17-24

yydy_2024-03-27_00-18-14

8.5、测试域名分流用户组 {#8-5-测试域名分流用户组}

域名分流我们只规定了谷歌和油管走vpn,其他默认走本地。

yydy_2024-03-27_00-24-29

赞(0)
未经允许不得转载:工具盒子 » 【Vyos-开源篇-5】- Vyos 部署 AnyLink SSLVPN