提示:請注意 信息的時效性、環境的相似度。侵刪!
文章目錄
- 前言
- 一、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 安装教程 及 客户端之间互联的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。