You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
configure
set interfaces ethernet eth0 address '192.168.6.117/24'
set protocols static route 0.0.0.0/0 next-hop 192.168.6.254
set service ntp server ntp1.aliyun.com
set service ssh port '22'
set system host-name 'AnyLink'
set system login banner post-login 'Welcome YYDY-AnyLink-SSLVPN'
set system login user sslvpn authentication encrypted-password anylink
set system name-server '192.168.100.3'
set system name-server '192.168.100.4'
set system time-zone 'Asia/Shanghai'
commit
save
文章介绍:使用当前最新滚动版vyos-1.5.0部署AnyLink SSLVPN,AnyLink是一个企业级SSLVPN软件,可以支持多人同时在线使用。基于 openconnect 协议开发,并且借鉴了 ocserv 的开发思路,可以完全兼容 AnyConnect 客户端,AnyLink 使用 TLS/DTLS 进行数据加密,因此需要 RSA 或 ECC 证书,可以通过 Let's Encrypt 和 TrustAsia 申请免费的 SSL 证书,AnyLink 服务端支持Centos,Ubuntu,Debian等系统,如需要安装在其他系统,需要服务端支持 tun/tap 功能、ip 设置等命令。
本期将详细介绍不同网络模式的配置方式,包括以下(tun模式:开启iptables_nat、不开启iptables_nat、arp代理;桥接模式:macvtap)。
本篇文章博主的官方博客: https://yangpin.link
一、项目来源
1.1、Gitee-bjdgyc
bjdgyc/anylink
1.2、GitHub-bjdgyc
bjdgyc/anylink
二、部署准备
2.1、vyos镜像
vyos-1.5-rolling-202408250024-generic-amd64.iso
2.2、anylink服务端
anylink-0.12.2-linux-amd64.tar.gz
anylink-0.12.2-linux-amd64.tar.gz
2.3、一个域名(可选)
最新版本v0.12.2支持不用域名连接,可以直接用IP+端口模式连接,如果是企业使用建议用域名,并申请安全证书。
Namesilo最便宜的域名一年不到15元(申请后托管cloudflare)
ClouDNS,每个账户提供一个免费的二级域名(申请后托管cloudflare)
2.4、一个公网IP(可选)
如果你安装AnyLink只是在内网使用可以没有公网IP,如果你要从公网拨号访问内网,则需要公网IP,如果你的公司出口没有公网IP,你可以选择使用FRP,NPS等内网穿透工具,本期不做介绍。
2.5、VPN客户端
2.5.1、Cisco Secure Client
下面的链接由博主提供免费Cisco官网的最新客户端软件,和免费开源的OpenConnect客户端下载地址,以及使用指导。
点我下载:Cisco Secure Client
2.5.2、AnyLink Client
该软件是GitHub一位项目开发者专门为AnyLink开发的客户端(仅支持Windwos,macOS,Linux)。
github-主页-anylink-client
点我下载:AnyLink Client
2.6、TOTP动态令牌
AnyLink SSLVPN支持用户名密码+六位数字动态令牌认证。
2.6.1、安卓动态令牌
Andoid
2.6.2、苹果动态令牌
iOS
2.7、SSH工具
MobaXterm
三、安装VyOS
3.1、安装
如果你不会使用VMware安装vyos系统,请先查看如下教程。
【Vyos-开源篇-1】- VMware安装vyos虚拟机
3.2、基础配置
四、安装AnyLink
4.1、进入root模式
4.2、拉取文件
4.3、解压文件
4.4、移动文件
4.5、赋予权限
4.6、复制服务文件
4.7、赋予权限
4.8、开机自启
五、自定义AnyLink
5.1、进入文件目录
5.2、创建新密码(必改)
请把你的”Passwd:“后面的都复制到记事本,这就是abc@123加密后的密文,稍后需要用来替换服务端配置文件。
5.3、创建jwt密钥(必改)
请把你的”Secret:“后面的都复制到记事本,这就是jwt加密后的密文,稍后需要用来替换服务端配置文件。
5.4、创建动态令牌(可选)
如果开启了totp动态令牌认证登录,则登录AnyLink控制台的密码将变成:abc@123+六位数字(中间没有:”+“号)
请把你的”Otp:“后面的都复制到记事本,这就是totp加密后的密文,稍后需要用来替换服务端配置文件。
六、TUN网络模式,开启NAT
6.1、进入conf目录
6.2、拷贝模版
6.3、编辑server.toml
6.3.1、修改profile_name(建议)
这个profile_name的用处是当你有多台AnyLink服务器时,可以定义好客户端显示的连接名称,当客户端第一次连接后,会下载一个名为:profile_vpn_tun.xml的配置文件,这个文件可以提前在AnyLink服务端中配置好,请参考拓展部分。
6.3.2、开启日志(可选)
6.3.3、修改issuer(建议)
6.3.4、修改管理员账户(可选)
6.3.5、修改密码(必改)
把上面5.2步骤的密文复制到双引号里面,把旧的删除。
6.3.6、修改jwt(必改)
把上面5.3步骤的密文复制到双引号里面,把旧的删除。
6.3.7、开启otp(可选)
把上面5.4步骤的密文复制到双引号里面。
6.3.8、修改TCP监听端口(可选)
6.3.9、修改DTLS(可选)
如果选择:true开启,则dtls端口建议和tcp业务端口一致
6.3.10、修改控制台端口(可选)
6.3.11、tcp代理协议(可选)
保持默认即可,这个功能猜测是为了日志审计用的
6.3.12、网络模式
6.3.13、客户端虚拟IP(可选)
默认是192.168.90.0/24,如果和内网冲突请修改,vyos部署时下面的ipv4_master默认就是eth0,如果是linux部署,请使用"ip ad"查看服务器上网网卡名称
6.3.14、客户端接入数(可选)
6.3.15、单用户并发数(可选)
6.3.16、IP租赁时间(可选)
6.3.17、默认用户组(可选)
这个用户组是稍后去控制台自定义的,此处定义客户端拨号默认连接内网LAN
6.3.18、客户端失效检测时间(可选)
默认即可,dpd > keepalive
6.3.19、最大传输单元(可选)
6.3.20、默认搜索域(可选)
有内网域名时填写内网域名的主域名
6.3.21、超时断开时间(可选)
6.3.22、会话过期时间(可选)
6.3.23、认证超时时间(可选)
6.3.24、审计间隔时间(可选)
6.3.25、查看数据库(可选)
6.3.26、添加nat(开启)
当选择true时,拨号客户端访问内网时将被nat成192.168.6.117,内网系统看到的访问源是192.168.6.117
6.3.27、压缩(可选)
开启压缩可以节省带宽和加快传输速度,网络延迟大网络带宽小建议开启,但开启会增加服务器的 CPU 负载,因为压缩和解压缩操作需要额外的计算资源。
6.3.28、客户端显示详细错误信息(可选)
线上环境慎开启。
6.3.29、排除出口ip路由(可选)
默认开启也就是排除,当客户端流量全局走隧道时需要用到这里,关闭后会使拨号的IP地址走隧道。
6.4、开启服务
6.5、重启服务
七、TUN网络模式,关闭NAT
关闭NAT模式,除了iptables_nat 是 false之外,其他配置与上面的模版皆相同。
7.1、网络模式
7.2、关闭nat(不开启)
当选择false时,拨号客户端访问内网时将用虚拟地址100.64.64.150为源IP,此时需要在内网网关设备上添加回程路由
说明:VyOS不开启NAT方式就是下面的命令不配置。
set nat source rule 1000 outbound-interface name 'eth0'set nat source rule 1000 source address '100.64.64.0/24'set nat source rule 1000 translation address 'masquerade'7.3、华为交换机添加静态路由
去目标网段100.64.64.0/24下一跳丢给anylink服务器的eth0口ip
7.4、开启服务
7.5、重启服务
八、TUN网络模式,ARP代理
ARP代理模式,除了NAT要求关闭和客户端虚拟IP跟上面的不一样以外,其他与上面的配置模版皆相同。
8.1、网络模式
8.2、关闭nat(不开启)
说明:VyOS不开启NAT方式就是下面的命令不配置。
set nat source rule 1000 outbound-interface name 'eth0'set nat source rule 1000 source address '100.64.64.0/24'set nat source rule 1000 translation address 'masquerade'8.3、客户端虚拟IP
使用ARP代理模式时,客户端虚拟IP地址需要保持和vyos的eth0口同网段,也就是和内网同网段,ipv4_gateway不能是网关地址,是eth0口网段的一个随机地址例如:192.168.6.252(且192.168.6.252这个地址也不能提前被内网占用),ipv4_start和ipv4_end地址范围自定义,但是需要在华为核心交换机中把anylink下发的这个地址范围做排除下发,否则会导致IP地址冲突,如果华为核心交换机中对192.168.6.0/24网段没有配置dhcp,可以忽略,此时用户拨号连接内网就相当于一根网线直连华为核心交换机。
8.4、开启ARP代理
8.4.1、vyos命令
8.4.2、linux命令
8.5、开启服务
8.6、重启服务
九、BR桥接模式,macVTAP
桥接模式,1、NAT要求关闭,2、客户端虚拟IP,3、网络模式不同,其他与上面的配置模版皆相同。
9.1、ESXi开启ETH0口混杂模式
9.2、VyOS开启ETH0口混杂模式
9.3、关闭nat(不开启)
说明:VyOS不开启NAT方式就是下面的命令不配置。
set nat source rule 1000 outbound-interface name 'eth0'set nat source rule 1000 source address '100.64.64.0/24'set nat source rule 1000 translation address 'masquerade'9.4、网络模式
9.5、客户端虚拟IP
当网络模式选择桥接模式时,客户端虚拟IP地址需要保持和vyos的eth0口同网段,也就是和内网同网段,ipv4_gateway必须是网关地址,也就是图中vlanif6:192.168.6.254,ipv4_start和ipv4_end地址范围自定义,但是需要在华为核心交换机中把anylink下发的这个地址范围做排除下发,否则会导致IP地址冲突,如果华为核心交换机中对192.168.6.0/24没有配置dhcp,可以忽略,此时用户拨号连接内网就相当于一根网线直连华为核心交换机。
9.6、开启服务
9.7、重启服务
十、Web功能配置
主要介绍部分实用功能,其他未介绍的功能请看官方文档。
10.1、基础信息配置
这里以qq邮箱为例。
10.1.1、邮箱配置
10.1.2、证书设置
这里我是使用Let's Encrypt,使用托管到cloudflare的域名进行证书申请,我直接截图重点位置,就是DNS的token获取,下面所有操作完后,点击保存获得到一串token字段,请保存好。
10.1.3、其他设置
10.2、创建用户组列表
把里面默认的俩个删除(all和ops),然后自己新建。
10.2.1、删除默认组
10.2.2、创建内网用户组
普通用户组只下发内网明细路由走隧道。
通用
DNS说明
认证方式
路由设置
权限控制
域名拆分隧道
10.2.3、创建全局用户组
全局用户组下发八个零的默认路由,全部路由走隧道。
10.2.4、创建域名分流用户组
域名用户组指定域名走隧道。
10.3、创建用户
戌、客户端测试
11.1、tun模式,开启nat
访问内网和访问公网,源地址都是192.168.6.117
11.1.1、测试LAN组
LAN用户权限只能访问内网192.168.6.0/24网段,且不能访问192.168.6.254的tcp23端口,访问192.168.6.254其他端口正常。
11.1.1.1、tracert测试
11.1.1.2、ping测试
11.1.1.3、tcping测试
11.1.2、测试ALL组
ALL用户权限是所有流量都走vpn隧道。
11.1.2.1、tracert测试
11.1.3、测试FAST组
FAST组用户权限是只有指定的FAST域名流量如谷歌和油管走vpn,其他默认走本地。
11.1.3.1、tracert测试
11.2、tun模式,关闭nat
访问内网,源地址为100.64.64.0/24(如果要访问公网,需要在出口路由器网关上配置回程路由,并配置SNAT,否则全局模式无法上网)
11.2.1、测试LAN组
访问内网一台PC的3389端口,然后抓包看源地址。
11.3、tun模式,arp代理
访问内网和公网源地址都是192.168.6.0/24网段,和内网是二层直连模式。
11.3.1、测试LAN组
11.3.1.1、tracert测试
11.3.1.2、ping测试
11.3.1.3、tcping测试
11.3.2、测试ALL组
11.3.2.1、tracert测试
11.3.3、测试FAST组
11.3.3.1、tracert测试
11.4、br模式,macvtap
访问内网和公网源地址都是192.168.6.0/24网段,和内网是二层直连模式。
11.4.1、测试LAN组
11.4.1.1、tracert测试
11.4.1.2、ping测试
11.4.1.3、tcping测试
11.4.2、测试ALL组
11.4.2.1、tracert测试
11.4.3、测试FAST组
11.4.3.1、tracert测试
打、拓展
12.1、DNS解析问题
关于AnyLink下发的客户端DNS与内网域名、隧道拆分域名的关系请参考下图。
在客户端上测试域名解析时,请避免使用nslookup,相反,请依赖浏览器的nslookup(1、chrome://net-internals/#dns;2、edge://net-internals/#dns)或使用ping命令。这是因为nslookup不依赖于操作系统DNS解析器。AnyConnect不会通过特定接口强制DNS请求,但根据拆分DNS配置允许或拒绝该请求。为了强制DNS解析器尝试请求的可接受DNS服务器,切分DNS测试必须仅对依赖本地DNS解析器进行域名解析的应用程序(例如,除nslookup、dig和自身处理DNS解析的类似应用程序之外的所有应用程序)执行。
12.2、profile_name配置
定义好HostName,以及HostAddress然后保存。
客户端拨号成功后,会自动下载配置文件到客户端本地
12.3、全局模式打不开网页
客户端全局模式拨号成功后,发现在cmd内ping域名正常,网页用ip访问正常,但是用域名无法访问,请在vyos的上网口添加mtu和mss。
The text was updated successfully, but these errors were encountered: