devqp
Специалист
Для безопасного подключения к корпоративным VPN с Linux VPS без потери доступа к серверу используйте связку openconnect и vpn-slice. Это решает проблему full-tunnel режима, который прерывает SSH-сессии.
1. Установка
Требуемые компоненты:
Особенности инструментов:
- openconnect: Поддерживает Cisco AnyConnect (--protocol=anyconnect), Juniper (--protocol=nc), Pulse Secure (--protocol=pulse), GlobalProtect (--protocol=gp), Fortinet (--protocol=fortinet), F5 Big-IP, Array Networks. Репозитарные версии могут не включать все протоколы — для полной поддержки требуется сборка из исходников.
- vpn-slice: Обеспечивает split-tunneling, перенаправляя через VPN только трафик к приватным сетям (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Критично для VPS, так как full-tunnel режим обрывает управление сервером.
2. Базовое подключение
Команда:
Параметр `-s` активирует фильтрацию трафика через указанные подсети.
3. Особенности протоколов
Cisco AnyConnect:
Не требует указания протокола. Стабильная работа.
Fortinet:
Редко требует 2FA. Часто использует встроенный split-tunneling (вывод маршрутов при подключении):
GlobalProtect:
Требует скрипт HIP report (--csd-wrapper). Часто запрашивает 2FA:
Pulse/Juniper:
Используйте `nc` для старых версий, `pulse` — для новых. Возможны ошибки из-за отсутствия нативной поддержки Linux. Установите User-Agent через --os=win.
1. Установка
Требуемые компоненты:
Код:
apt install openconnect python3-pip
pip3 install "vpn-slice[dnspython,setproctitle]"
Особенности инструментов:
- openconnect: Поддерживает Cisco AnyConnect (--protocol=anyconnect), Juniper (--protocol=nc), Pulse Secure (--protocol=pulse), GlobalProtect (--protocol=gp), Fortinet (--protocol=fortinet), F5 Big-IP, Array Networks. Репозитарные версии могут не включать все протоколы — для полной поддержки требуется сборка из исходников.
- vpn-slice: Обеспечивает split-tunneling, перенаправляя через VPN только трафик к приватным сетям (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Критично для VPS, так как full-tunnel режим обрывает управление сервером.
2. Базовое подключение
Команда:
Код:
openconnect --user=[USER] [VPN_ADDRESS] --protocol=[PROTOCOL] -s "vpn-slice 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"
3. Особенности протоколов
Cisco AnyConnect:
Код:
openconnect --os=win --user=user123 vpn.drk.xxx -s "vpn-slice 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"
Fortinet:
Код:
openconnect --os=win --protocol=fortinet --user=awndorf vpn.bas.pol.xx -s "vpn-slice 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"
Код:
Got IPv4 route 10.0.20.0/255.255.255.0
Received split routes; not setting default Legacy IP route
GlobalProtect:
Код:
openconnect --os=win --csd-wrapper /path/to/hipreport.sh --protocol=gp --user='bogdan_dobre' eu-vpn.asus.xxx -s "vpn-slice 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"
Код:
Challenge: Enter Your Microsoft verification code
Pulse/Juniper:
Код:
openconnect --protocol=nc --os=win --user=20200022 vpn.act.xxx -s 'vpn-slice 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16'