æç« ä»ç»ï¼ä½¿ç¨å½åææ°æ»å¨ç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ï¼ã
ä¸ãé¡¹ç®æ¥æº
1.1ãGitee-bjdgyc
1.2ãGitHub-bjdgyc
äºãé¨ç½²åå¤
2.1ãvyoséå
2.2ãanylinkæå¡ç«¯
2.3ãä¸ä¸ªååï¼å¯éï¼
2.4ãä¸ä¸ªå ¬ç½IPï¼å¯éï¼
2.5ãVPN客æ·ç«¯
2.5.1ãCisco Secure Client
2.5.2ãAnyLink Client

2.6ãTOTP卿令ç
2.6.1ãå®å卿令ç
2.6.2ãè¹æå¨æä»¤ç
2.7ãSSHå·¥å ·
ä¸ãå®è£ VyOS
3.1ãå®è£
3.2ãåºç¡é ç½®

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
åãå®è£ AnyLink
4.1ãè¿å ¥root模å¼
sudo -i
4.2ãæåæä»¶
sudo wget -P /tmp https://gitee.com/bjdgyc/anylink/releases/download/v0.12.2/anylink-0.12.2-linux-amd64.tar.gz
sudo wget -P /tmp https://github.com/bjdgyc/anylink/releases/download/v0.12.2/anylink-0.12.2-linux-amd64.tar.gz
4.3ãè§£åæä»¶
sudo tar -zxvf /tmp/anylink-0.12.2-linux-amd64.tar.gz
4.4ãç§»å¨æä»¶
sudo mv anylink-deploy/ /usr/local/
4.5ãèµäºæé
sudo chmod +x /usr/local/anylink-deploy/anylink
4.6ãå¤å¶æå¡æä»¶
sudo cp /usr/local/anylink-deploy/deploy/anylink.service /etc/systemd/system
4.7ãèµäºæé
sudo chmod +x /etc/systemd/system/anylink.service
4.8ã弿ºèªå¯
sudo systemctl enable anylink
äºãèªå®ä¹AnyLink
5.1ãè¿å ¥æä»¶ç®å½
sudo cd /usr/local/anylink-deploy
5.2ãå建æ°å¯ç ï¼å¿ æ¹ï¼
./anylink tool -p abc@123
Passwd:$2a$10$eO7aH3twg6xzsw/oY29ki9Joic8wrsF4ZhufVmGxVkC38h0jtn.dbK
5.3ãå建jwtå¯é¥ï¼å¿ æ¹ï¼
./anylink tool -s
Secret:sjjP3Me68K-ppXe-au4MppLifqbEgLu19gc1fl7DrZpBcE5donOPCgqer
5.4ãåå»ºå¨æä»¤çï¼å¯éï¼
./anylink tool -o
Otp:35TQE2F2AHYR6B3CKOXZVSZGGKLNLIM5HJ6VDG2TOEVRAGY3SVF5A
å ãTUNç½ç»æ¨¡å¼ï¼å¼å¯NAT

6.1ãè¿å ¥confç®å½
sudo cd conf/
6.2ãæ·è´æ¨¡ç
sudo cp server-sample.toml server.toml
6.3ãç¼è¾server.toml
sudo nano server.toml
6.3.1ãä¿®æ¹profile_nameï¼å»ºè®®ï¼
profile_name = "vpn_tun"
6.3.2ãå¼å¯æ¥å¿ï¼å¯éï¼
log_path = "./log"
6.3.3ãä¿®æ¹issuerï¼å»ºè®®ï¼
issuer = "YYDY-AnyLink-SSLVPN"
6.3.4ãä¿®æ¹ç®¡çåè´¦æ·ï¼å¯éï¼
admin_user = "yydy"
6.3.5ãä¿®æ¹å¯ç ï¼å¿ æ¹ï¼
admin_pass = "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"
6.3.6ãä¿®æ¹jwtï¼å¿ æ¹ï¼
jwt_secret = "abcdef.0123456789.abcdef"
6.3.7ãå¼å¯otpï¼å¯éï¼
admin_otp = ""
6.3.8ãä¿®æ¹TCPçå¬ç«¯å£ï¼å¯éï¼
server_addr = ":10443"
6.3.9ãä¿®æ¹DTLSï¼å¯éï¼
#å¼å¯ DTLS
server_dtls = true
#UDPçå¬å°å
server_dtls_addr = ":10443"
6.3.10ãä¿®æ¹æ§å¶å°ç«¯å£ï¼å¯éï¼
admin_addr = ":8800"
6.3.11ãtcp代çåè®®ï¼å¯éï¼
proxy_protocol = false
6.3.12ãç½ç»æ¨¡å¼
link_mode = "tun"
6.3.13ã客æ·ç«¯èæIPï¼å¯éï¼
ipv4_master = "eth0"
ipv4_cidr = "100.64.64.0/24"
ipv4_gateway = "100.64.64.254"
ipv4_start = "100.64.64.1"
ipv4_end = "100.64.64.253"
6.3.14ã客æ·ç«¯æ¥å ¥æ°ï¼å¯éï¼
max_client = 200
6.3.15ãåç¨æ·å¹¶åæ°ï¼å¯éï¼
max_user_client = 3
6.3.16ãIPç§èµæ¶é´ï¼å¯éï¼
ip_lease = 86400
6.3.17ãé»è®¤ç¨æ·ç»ï¼å¯éï¼
default_group = "LAN"
6.3.18ã客æ·ç«¯å¤±ææ£æµæ¶é´ï¼å¯éï¼
cstp_keepalive = 3
cstp_dpd = 20
mobile_keepalive = 4
mobile_dpd = 60
6.3.19ãæå¤§ä¼ è¾åå ï¼å¯éï¼
mtu = 1460
6.3.20ãé»è®¤æç´¢åï¼å¯éï¼
default_domain = "yangpin.link"
6.3.21ãè¶ æ¶æå¼æ¶é´ï¼å¯éï¼
idle_timeout = 0
6.3.22ãä¼è¯è¿ææ¶é´ï¼å¯éï¼
session_timeout = 3600
6.3.23ã认è¯è¶ æ¶æ¶é´ï¼å¯éï¼
auth_timeout = 0
6.3.24ã审计é´éæ¶é´ï¼å¯éï¼
audit_interval = 600
6.3.25ãæ¥çæ°æ®åºï¼å¯éï¼
show_sql = false
6.3.26ãæ·»å natï¼å¼å¯ï¼
iptables_nat = true
configure
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'
save
6.3.27ãå缩ï¼å¯éï¼
compression = false
no_compress_limit = 256
6.3.28ã客æ·ç«¯æ¾ç¤ºè¯¦ç»é误信æ¯ï¼å¯éï¼
display_error = false
6.3.29ãæé¤åºå£ipè·¯ç±ï¼å¯éï¼
exclude_export_ip = true
6.4ãå¼å¯æå¡
sudo systemctl start anylink
6.5ãé坿å¡
sudo systemctl restart anylink
ä¸ãTUNç½ç»æ¨¡å¼ï¼å ³éNAT

7.1ãç½ç»æ¨¡å¼
link_mode = "tun"
7.2ãå ³énatï¼ä¸å¼å¯ï¼
iptables_nat = false
说æï¼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ãåä¸ºäº¤æ¢æºæ·»å éæè·¯ç±
ip route-static 100.64.64.0 255.255.255.0 192.168.6.117 description to-anylink-virtual-ip
7.4ãå¼å¯æå¡
sudo systemctl start anylink
7.5ãé坿å¡
sudo systemctl restart anylink
å «ãTUNç½ç»æ¨¡å¼ï¼ARP代ç

8.1ãç½ç»æ¨¡å¼
link_mode = "tun"
8.2ãå ³énatï¼ä¸å¼å¯ï¼
iptables_nat = false
说æï¼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
ipv4_master = "eth0"
ipv4_cidr = "192.168.6.0/24"
ipv4_gateway = "192.168.6.252"
ipv4_start = "192.168.6.150"
ipv4_end = "192.168.6.250"
8.4ãå¼å¯ARP代ç
8.4.1ãvyoså½ä»¤
configure
set system sysctl parameter net.ipv4.conf.all.proxy_arp value 1
commit
save
8.4.2ãlinuxå½ä»¤
echo "net.ipv4.conf.all.proxy_arp = 1" | sudo tee -a /etc/sysctl.conf
8.5ãå¼å¯æå¡
sudo systemctl start anylink
8.6ãé坿å¡
sudo systemctl restart anylink
ä¹ãBRæ¡¥æ¥æ¨¡å¼ï¼macVTAP

9.1ãESXiå¼å¯ETH0壿··ææ¨¡å¼

9.2ãVyOSå¼å¯ETH0壿··ææ¨¡å¼
sudo ip link set dev eth0 promisc on
9.3ãå ³énatï¼ä¸å¼å¯ï¼
iptables_nat = false
说æï¼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ãç½ç»æ¨¡å¼
link_mode = "macvtap"
9.5ã客æ·ç«¯èæIP
ipv4_master = "eth0"
ipv4_cidr = "192.168.6.0/24"
ipv4_gateway = "192.168.6.254"
ipv4_start = "192.168.6.150"
ipv4_end = "192.168.6.250"
9.6ãå¼å¯æå¡
sudo systemctl start anylink
9.7ãé坿å¡
sudo systemctl restart anylink
åãWebåè½é ç½®
10.1ãåºç¡ä¿¡æ¯é ç½®
10.1.1ãé®ç®±é ç½®



10.1.2ãè¯ä¹¦è®¾ç½®


10.1.3ãå ¶ä»è®¾ç½®

10.2ãåå»ºç¨æ·ç»å表
10.2.1ãå é¤é»è®¤ç»

10.2.2ãå建å ç½ç¨æ·ç»






10.2.3ãåå»ºå ¨å±ç¨æ·ç»








10.2.4ãå建åååæµç¨æ·ç»





10.3ãåå»ºç¨æ·



æã客æ·ç«¯æµè¯
11.1ãtun模å¼ï¼å¼å¯nat
11.1.1ãæµè¯LANç»
11.1.1.1ãtracertæµè¯

11.1.1.2ãpingæµè¯

11.1.1.3ãtcpingæµè¯

11.1.2ãæµè¯ALLç»
11.1.2.1ãtracertæµè¯

11.1.3ãæµè¯FASTç»
11.1.3.1ãtracertæµè¯

11.2ãtun模å¼ï¼å ³énat
11.2.1ãæµè¯LANç»

11.3ãtun模å¼ï¼arp代ç
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
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è§£æé®é¢
å¨å®¢æ·ç«¯ä¸æµè¯ååè§£ææ¶ï¼è¯·é¿å 使ç¨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é ç½®
sudo cd /usr/local/anylink-deploy/conf
sudo nano profile.xml

C:\ProgramData\Cisco\Cisco Secure Client\VPN\Profile
/opt/cisco/anyconnect/profile

12.3ãå ¨å±æ¨¡å¼æä¸å¼ç½é¡µ
set interfaces ethernet eth0 mtu 1476
set interfaces ethernet eth0 ip adjust-mss 1200