devqp
Специалист
Для работы с корпоративными VPN на Linux VPS используйте связку openconnect и vpn-slice. Это решает проблему full-tunnel, который обрывает SSH-сессии. Установка:
Особенности инструментов:
- OpenConnect поддерживает Cisco AnyConnect, Juniper, Pulse Connect Secure, Palo Alto GlobalProtect, 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 соответствуют приватным сетям.
Специфика протоколов:
1. Cisco AnyConnect:
2. Fortinet (редко требует 2FA):
При наличии split-routes на сервере vpn-slice может не требоваться.
3. GlobalProtect (часто требует 2FA и CSD):
4. Pulse/Juniper:
При ошибках пробуйте --protocol=pulse и меняйте User-Agent.
Код:
apt install openconnect
apt install python3-pip
pip3 install "vpn-slice[dnspython,setproctitle]"
Особенности инструментов:
- OpenConnect поддерживает Cisco AnyConnect, Juniper, Pulse Connect Secure, Palo Alto GlobalProtect, Fortinet, F5 Big-IP, Array Networks
- Репозитарные версии могут не включать все протоколы — для полной поддержки требуется сборка из исходников
- VPN-slice обеспечивает split-tunneling, маршрутизируя через VPN только трафик к приватным сетям
Базовое подключение:
Код:
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"
Специфика протоколов:
1. Cisco AnyConnect:
Код:
openconnect --os=win --user=user123 vpn.drk.xxx -s "vpn-slice ..."
2. Fortinet (редко требует 2FA):
Код:
openconnect --os=win --protocol=fortinet --user=awndorf vpn.bas.pol.xx -s "vpn-slice ..."
3. GlobalProtect (часто требует 2FA и CSD):
Код:
openconnect --os=win --csd-wrapper /path/to/hipreport.sh --protocol=gp --user='user' eu-vpn.asus.xxx -s "vpn-slice ..."
4. Pulse/Juniper:
Код:
openconnect --protocol=nc --os=win --user=20200022 vpn.act.xxx -s 'vpn-slice ...'