Я использую Windows.
Моя главная цель — иметь возможность открывать корпоративные веб-сайты, которые доступны только через корпоративный VPN, такой как GitLab. Поскольку Windows не позволяла мне указывать, к каким веб-сайтам я хотел бы использовать VPN для подключения, мне пришла в голову идея использовать Проксификатор для проксирования в контейнер Docker, в котором будет запущена необходимая VPN. Это устранило бы необходимость постоянно включать и выключать VPN-соединение, чтобы использовать корпоративные веб-сайты или личные (в основном любые другие).
Поэтому я пробовал множество вариантов изображений на основе alpine/ubuntu, таких как l2tp-ipsec-vpn-клиент, но все они не работают на WSL (либо v1, либо v2); Я предполагаю, что причина в том, что все они сделаны специально для хост-ОС на базе Linux.
Переключение между контейнерами Windows и обратно на рабочем столе Docker — это просто перемещение проблемы включения и выключения из одного места в другое, поскольку мне нужны контейнеры Linux для моей работы.
Отсюда мой вопрос: как настроить исходящее VPN-подключение L2TP/IPsec из (желательно небольшого) контейнера Linux?
(Чтобы я затем настроил небольшой прокси-сервер для проксификации соединений с моей хост-ОС Windows на указанный VPN-сервер)
AgentFire
1 ответ
Правильный ответ: «Это зависит».
Например, какую технологию вы используете для VPN и какой тип NAT (и сколько) существует между Docker и Интернетом.
Говоря из опыта:
OpenVPN
имеет ограниченную функциональность, когда соединение проходит через NAT операторского класса, наиболее известная VPN через UDP-пакеты, как правило, сбрасывается.
Он работает с туннелями через TCP-туннель, но довольно медленно.
Strongswan
(IPsec) работает, правда были отчеты
WireGuard
разорванных соединений, когда всем приходилось работать из дома и подключаться к корпоративной сети, а подключение к Интернету было за NAT операторского класса.
также работает. Это невероятно быстро, даже быстрее, чем IPsec, хотя им сложно управлять, когда у вас большое количество клиентов из-за управления ключами.
Другие протоколы VPN могут даже не работать с NAT операторского класса из-за того, что может потребоваться IP-адрес клиента на стороне WAN — например, если вы хотите протестировать IPv6 с туннелем от Hurricane Electric.
В этих случаях вам нужно обойти, чтобы заставить его работать. Nebula mesh
я не тестировал
с NAT операторского класса, хотя меня заинтриговала часть, где вы не ограничены пропускной способностью, доступной для концентратора в сети.
Итак, вкратце:
Вам нужно решить, как вы хотите использовать VPN, потому что цель будет ограничивать, какие протоколы вы можете использовать.
: У меня нет прямых ссылок на источники, поэтому я отношу это скорее к ересь, от друзей, работающих с Microsoft VPN, который использует IPsec.