Чтобы получить удаленный доступ к корпоративной интрасети, мы должны использовать клиент Cisco AnyConnect VPN. Нам разрешено устанавливать его на любые персональные машины, и они предоставляют загрузки и инструкции для Windows, Mac и Linux. Это отлично работает, за исключением предоставляемых ими конфигураций таблиц маршрутизации.
Они маршрутизируют все, кроме подсетей 10.0.0.0/8 и 172.0.0.0/8 (это не опечатка), через VPN. Это встроено в клиент, и я не могу найти способ его изменить. Все, что мне действительно нужно, это порты 80, 443 и 22 для небольшой подсети класса C, маршрутизируемые через туннель VPN.
Есть ли способ изменить конфигурацию таблицы маршрутизации? Если исключить это, можно ли настроить виртуальную машину Linux с прокси-сервером HTTP / S и SSH, которые маршрутизируются через туннель VPN?
Если исключить это, можно ли настроить виртуальную машину Linux с прокси-сервером HTTP / S и SSH, которые маршрутизируются через туннель VPN?
Я могу ответить только на первую часть этого вопроса: «Можно ли настроить виртуальную машину Linux ... этот маршрут через туннель VPN». Да, ты можешь.
Если вы воспользуетесь альтернативным клиентом, openconnect, раздельное туннелирование довольно просто. Вам также понадобится vpnc-скрипт чтобы упростить процесс настройки маршрутов (хотя вы всегда можете вручную вернуться после этого и использовать ip route
команды).
Затем следуйте инструкциям в это github суть. По сути,
sudo openconnect <corporate-vpn-endpoint> \
-m 1290 \
-u <your-vpn-user> \
--servercert sha256:<0446a7EXAMPLE8901278394> \
-s 'vpn-slice <10.10.0.0/14>'
где 10.10.0.0/14
должна быть подсеть, которую вы хотели бы использовать через VPN.
Ваши маршруты после этой команды будут выглядеть примерно так:
# ip route
default via 10.1.1.1 dev wlp4s0 proto static metric 600
10.1.1.0/24 dev wlp4s0 proto kernel scope link src 10.1.1.50 metric 600
10.10.0.0/14 dev tun0 scope link
10.10.0.0/14 dev tun0 scope link metric 6
180.10.34.165 dev tun0 scope link
180.10.34.165 dev tun0 scope link metric 6
Обратите внимание, что большая часть трафика проходит по маршруту по умолчанию, а подсеть, указанная в команде (10.10.0.0/14
) проходит по туннелю.
Это не позволяет разделять туннели. Это функция безопасности программного обеспечения VPN. Разрешение разделенных туннелей ставит под угрозу бизнес-сеть, потому что это можно использовать для обхода межсетевого экрана. Программное обеспечение активно отслеживает изменения маршрутизации хоста и отменяет изменения, внесенные в маршрутизацию хоста.
Поскольку маршрутизация должна разрешать TCP-пакеты к серверу VPN, вы можете использовать умные правила NAT и программное обеспечение, например SSLH для мультиплексирования дополнительных потоков (таких как SSH с туннелями) в этой проектной дыре.
Подробности здесь для пошаговых инструкций и как / почему это работает