提示:請注意 信息的時效性、環境的相似度。侵刪!
 
 
文章目錄
- 前言
- 一、Anylink是什么?
- 二、使用步驟
- 1.官方服務端(這里使用tun模式,推薦)
- 2.Macvtap 配置
- 3.tap 配置
- 4. Systemd 配置開機啟動
- 5. 配置客戶端互通
 
- 引用
 
前言
 
?? 在云主機上部署完成 Anylink 遠程辦公系統后,通過AnyConnect客戶端連接后發現 客戶端之間無法互通。
 
 
 
 
提示:以下是本篇文章正文內容,下面案例可供參考
 
一、Anylink是什么?
 
AnyLink 基于 ietf-openconnect 協議開發,并且借鑒了 ocserv 的開發思路,使其可以同時兼容 AnyConnect 客戶端.這一點和 Openconnect VPN 是使用相同的協議和客戶端.
 
 
 
二、使用步驟
 
安裝教程源自官網
 
-  環境: - AnyLink 服務端僅在 CentOS 7、Ubuntu 18.04 測試通過,如需要安裝在其他系統,需要服務端支持 tun/tap 功能、ip 設置命令。
 
 
 
-  軟件 - AnyLink Release包 官方下載: Github
- HTTPS 證書,暫時不支持私有證書 - 對于測試環境,可以使用 vpn.test.vqilu.cn 綁定host進行測試
- 首次使用,請在瀏覽器訪問 https://域名:443,瀏覽器提示安全后,在客戶端輸入 【域名:443】 即可。
 
 
 
 
1.官方服務端(這里使用tun模式,推薦)
 
- 官方下AnyLink Release 包之后 解壓縮到 /usr/local/anylink-deploy 路徑下
[root@localhost anylink
-deploy
]# ls
anylink  bridge
-init
.sh  conf  LICENSE  log  systemd
 
 
# 生成后臺密碼
, 123456 自行修改
[root@localhost anylink
-deploy
]#
./anylink tool 
-p 
123456
"$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"# 生成jwt密鑰
[root@localhost anylink
-deploy
]#
./anylink tool 
-s
"abcdef.0123456789.abcdef" 
- 修改 conf/server.toml配置文件
- 這里使用 默認數據庫,HTTPS 證書需要事先申請
- 修改 - issuer = “XX公司VPN”
- admin_user = “admin”
- admin_pass = "$2a101010UQ7C.E
- jwt_secret = "abcdef
- ipv4_master = “eth0”
 
- 請根據服務器內網ens160 網卡 替換 eth0,其他可以默認
 
# 查看網卡
[root@localhost anylink
-deploy
]# ip a
1: lo
: <LOOPBACK
,UP
,LOWER_UP
> mtu 
65536 qdisc noqueue state UNKNOWN group 
default qlen 
1000link
/loopback 
00:00:00:00:00:00 brd 
00:00:00:00:00:00inet 
127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 
::1/128 scope host valid_lft forever preferred_lft forever
2: ens160
: <BROADCAST
,MULTICAST
,UP
,LOWER_UP
> mtu 
1500 qdisc mq state UP group 
default qlen 
1000link
/ether 
00:50:56:8e
:61:92 brd ff
:ff
:ff
:ff
:ff
:ffinet 
10.0.0.11/24 brd 
10.0.0.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 fe80
::b628
:c58b
:6675:9d21
/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@localhost anylink
-deploy
]# vim conf
/server
.toml
#示例配置信息#其他配置文件
,可以使用絕對路徑
#或者相對于 anylink 二進制文件的路徑#數據文件
db_type 
= "sqlite3"
db_source 
= "./conf/anylink.db"
#證書文件 使用跟nginx一樣的證書即可
cert_file 
= "./conf/vpn_cert.crt"
cert_key 
= "./conf/vpn_cert.key"
files_path 
= "./conf/files"
profile 
= "./conf/profile.xml"
#日志目錄
,為空寫入標準輸出
#log_path = "./log"
log_path 
= ""
log_level 
= "debug"
pprof 
= false#系統名稱
issuer 
= "XX公司VPN"
#后臺管理用戶
admin_user 
= "admin"
#pass 123456
admin_pass 
= "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"
jwt_secret 
= "abcdef.0123456789.abcdef"#服務監聽地址
server_addr 
= ":443"
#開啟 DTLS
, 默認關閉
server_dtls 
= false
server_dtls_addr 
= ":4433"
#后臺服務監聽地址
admin_addr 
= ":8800"
#開啟tcp proxy protocol協議
proxy_protocol 
= falselink_mode 
= "tun"#客戶端分配的ip地址池
ipv4_master 
= "eth0"
ipv4_cidr 
= "192.168.10.0/24"
ipv4_gateway 
= "192.168.10.1"
ipv4_start 
= "192.168.10.100"
ipv4_end 
= "192.168.10.200"#最大客戶端數量
max_client 
= 100
#單個用戶同時在線數量
max_user_client 
= 3
#IP租期(秒)
ip_lease 
= 1209600#默認選擇的組
default_group 
= "one"#客戶端失效檢測時間
(秒
) dpd 
> keepalive
cstp_keepalive 
= 20
cstp_dpd 
= 30
mobile_keepalive 
= 40
mobile_dpd 
= 50#設置最大傳輸單元
mtu 
= 1460#session過期時間,用于斷線重連,0永不過期
session_timeout 
= 3600
auth_timeout 
= 0
audit_interval 
= -1 
 
 
# 
[root@localhost anylink
-deploy
]# vim 
/etc
/sysctl
.conf
net
.ipv4
.ip_forward 
= 1# 執行如下命令
[root@localhost anylink
-deploy
]# sysctl 
-w net
.ipv4
.ip_forward
=1# 查看設置是否生效
[root@localhost anylink
-deploy
]# cat 
/proc
/sys
/net
/ipv4
/ip_forward
 
 
[root@localhost anylink
-deploy
]# systemctl stop firewalld
.service
[root@localhost anylink
-deploy
]# systemctl disable firewalld
.service# 查看網卡
[root@localhost anylink
-deploy
]# ip a
1: lo
: <LOOPBACK
,UP
,LOWER_UP
> mtu 
65536 qdisc noqueue state UNKNOWN group 
default qlen 
1000link
/loopback 
00:00:00:00:00:00 brd 
00:00:00:00:00:00inet 
127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 
::1/128 scope host valid_lft forever preferred_lft forever
2: ens160
: <BROADCAST
,MULTICAST
,UP
,LOWER_UP
> mtu 
1500 qdisc mq state UP group 
default qlen 
1000link
/ether 
00:50:56:8e
:61:92 brd ff
:ff
:ff
:ff
:ff
:ffinet 
10.0.0.11/24 brd 
10.0.0.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 fe80
::b628
:c58b
:6675:9d21
/64 scope link noprefixroute valid_lft forever preferred_lft forever# 請根據服務器內網ens160 網卡 替換 eth0
[root@localhost anylink
-deploy
]# iptables 
-t nat 
-A POSTROUTING 
-s 
192.168.10.0/24 -o eth0 
-j MASQUERADE# 如果執行第一個命令不生效,可以繼續執行下面的命令
# iptables -A FORWARD -i eth0 -s 192.168.10.0/24 -j ACCEPT# 查看設置是否生效
iptables 
-nL 
-t nat
 
 
2.Macvtap 配置
 
參考:macvtap
 
3.tap 配置
 
參考:tap
 
4. Systemd 配置開機啟動
 
# 目錄結構
[root@localhost anylink
-deploy
]# ls
anylink  bridge
-init
.sh  conf  LICENSE  log  systemd
# anylink 程序目錄 /usr/local/anylink-deploy
[root@localhost anylink
-deploy
]# pwd
/usr
/local
/anylink
-deploy# 將 systemd
/anylink
.service 腳本放入:
# centos: 
[root@localhost anylink
-deploy
]# cp systemd
/anylink
.service 
/usr
/lib
/systemd
/system
/
# ubuntu: 
[root@localhost anylink
-deploy
]# cp systemd
/anylink
.service  
/lib
/systemd
/system
/ 
 
啟動
: systemctl start anylink
停止
: systemctl stop anylink
開機自啟
: systemctl enable anylink
 
5. 配置客戶端互通
 
- 登錄
 
- 進入用戶組 、用戶組列表
 
- 增加 anyconnect 客戶端的網段(版本==0.74,0.8新版本界面稍有不同)
 若客戶端無法互通, 檢查:- 查看設置是否生效 iptables -nL -t nat
 
[root@local anylink
-deploy
]# iptables 
-nL 
-t nat
Chain 
PREROUTING (policy ACCEPT
)
target     prot opt source               destination         
DOCKER     all  
--  0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst
-type LOCALChain 
INPUT (policy ACCEPT
)
target     prot opt source               destination         Chain 
OUTPUT (policy ACCEPT
)
target     prot opt source               destination         
DOCKER     all  
--  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst
-type LOCALChain 
POSTROUTING (policy ACCEPT
)
target     prot opt source               destination         
MASQUERADE  all  
--  172.17.0.0/16        0.0.0.0/0           
MASQUERADE  all  
--  10.0.0.0.0/24      0.0.0.0/0           Chain 
DOCKER (2 references
)
target     prot opt source               destination         
RETURN     all  
--  0.0.0.0/0            0.0.0.0/0  # 可能是 docker 的 iptables 設置沖突
#  flush 清除所有的已定規則
[root@local anylink
-deploy
]# iptables 
-F 
# delete 刪除所有用戶“自定義”的鏈(tables)
[root@local anylink
-deploy
]# iptables 
-X 
 
- 登錄 anylink:8800 web管理界面,查看是否填寫了客戶端網段
 
- 本地網絡 是什么?
 
用戶組中的 本地網絡 指的是:
 運行 Anyconnect 客戶端的PC 所在的的網絡,既本地路由網段。
 
點開后,PC本地路由網段的數據就不會走隧道鏈路轉發數據了。
 
 
 
引用
 
- iptables清除防火墻所有配置規則
- bjdgyc/anylink: AnyLink
- AnyLink 的 docker 部署
- Ubuntu tcpdump詳解 
總結
                            
                                以上是生活随笔為你收集整理的Anylink 安装教程 及 客户端之间互联的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。