![Как направить все соединения с одной машины (Linux) через VPN на другую (Windows) на VMWare ESXi?](https://rvso.com/image/1552361/%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B2%D1%81%D0%B5%20%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%81%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B%20(Linux)%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20VPN%20%D0%BD%D0%B0%20%D0%B4%D1%80%D1%83%D0%B3%D1%83%D1%8E%20(Windows)%20%D0%BD%D0%B0%20VMWare%20ESXi%3F.png)
У меня возникла конкретная проблема: программное обеспечение может работать только на Linux, но должно подключаться к удаленному серверу через VPN-клиент, который может работать только на Windows.
Что касается физического оборудования, я предполагаю, что я мог бы просто проложить один кабель Ethernet между Linux-компьютером и Windows-компьютером, а второй — от Windows-компьютера к маршрутизатору. (Не знаю, сработает ли это, но звучит так, будто должно).
Как это сделать на гипервизоре VMWare ESXi, используя две виртуальные машины?
Я нашел несколько статей, которые могут мне помочь, но мне хотелось бы получить некоторую экспертную информацию по этому вопросу.
https://www.privateinternetaccess.com/forum/discussion/1389/pia-tunnel-a-virtual-machine-vpn-tunnel
https://www.privateinternetaccess.com/forum/discussion/21459/pia-and-vmware-worsktation
https://protechgurus.com/configure-lan-routing-windows-server-2016/
- https://redmondmag.com/articles/2015/04/23/windows-server-as-a-network-router.aspx
решение1
Насколько я согласен, что это плохая идея, вы, похоже, убеждены, что это лучшее решение для ваших обстоятельств. Лично я бы пошел по пути сбора всех различных VPN-клиентов. С учетом сказанного...
Во-первых, вам нужно включить маршрутизацию и удаленный доступ на машине Windows, на которой запущен VPN-клиент. Ссылка «configure lan routing», которая у вас есть, должна привести вас к этой точке.
Затем вам нужно настроить маршрут, который будет направлять трафик для ваших сетей/хостов VPN через предполагаемый интерфейс (адаптер VPN). Если вы не знаете, какой именно трафик, вы можете использовать маршрут по умолчанию, который будет направлять весь трафик. После того, как вы настроите его на своем компьютере с Windows, вам нужно будет установить адрес шлюза по умолчанию на компьютере с Linux в качестве IP-адреса для адаптера локальной сети на компьютере с Windows.
Хотя вы можете настроить маршрутизацию в Windows с помощью командной строки, может быть немного проще начать, если вы используете графический инструмент, такой как Nirsoft NetRouteView:
https://www.nirsoft.net/utils/network_route_view.html
Убедитесь, что вы запускаете это как администратор, иначе у вас просто будет головная боль ;) Это позволит вам просматривать/редактировать/удалять существующие маршруты и создавать новые. К вашему сведению, если у вас больше одного маршрута по умолчанию (0.0.0.0), маршрут с наименьшей метрикой является маршрутом, который имеет приоритет. Поэтому вам, возможно, придется соответствующим образом настроить метрики ваших маршрутов.
Если это часто используемая/постоянная настройка, вы можете оставить Linux-бокс настроенным как есть и добавить дополнительные маршруты на Windows-бокс для обработки трафика в различные VPN-туннели. Когда вы делаете свои маршруты «постоянными», они будут сохранены при перезагрузке. Маршруты, которые не являются постоянными, теряются при перезагрузке машины. Вы также можете указать адаптер (интерфейс) для маршрутов при их настройке. Например, вы можете настроить маршруты для VPN-A и VPN-B, и когда VPN-A подключен, а VPN-B — нет, маршрут для VPN-B будет по сути игнорироваться, и трафик будет направляться через VPN-A.
решение2
Ситуация, с которой столкнулся автор поста, заключается в необходимости подключения к нескольким клиентам с использованием VPN. Он получает программное обеспечение VPN от клиентов, программное обеспечение, которое почти всегда предназначено для использования под Windows. К сожалению, его программа была написана и работает под Linux.
Предлагаемое автором решение заключается в использовании виртуальной машины Windows в качестве маршрутизатора для VPN, то есть запуске VPN-клиента под управлением Windows и подключении к нему с хоста Linux.
Это решение не будет работать во всех случаях, поскольку многие компании имеют плохую привычку делать VPN обязательным, так что подключенная виртуальная машина будет изолирована от сети хоста и не сможет маршрутизировать запросы. (К счастью, ни один брандмауэр не может отключить рабочий стол виртуальной машины от VMWare, работающей на хосте.)
Одним из возможных решений является использование клиента Linux для VPN. Большинство клиентов VPN для Linux бесплатны, но даже если нет, то клиент заплатил за продукт и может получить вам клиент Linux, если вы действительно настаиваете. Это, безусловно, самое простое решение.
Второе решение — инвертировать архитектуру. Я предлагаю взять компьютер с Windows и установить на нем различные VPN-клиенты. Затем программу Linux можно установить на виртуальной машине Linux, которая будет использовать сеть хоста. Это решение будет работать даже для обязательного VPN.
Третье решение основано на том факте, что современные гипервизоры теперь поддерживают встроенные гипервизоры, которые являются гипервизором, работающим в виртуальной машине. Эта архитектура немного надуманная, поскольку ваш Linux размещает виртуальную машину Windows со встроенным гипервизором, работающим на встроенной виртуальной машине Linux, содержащей ваш продукт. Это решение также будет работать даже для обязательного VPN, но вам придется взвесить его преимущества и недостатки. Это может заставить вас использовать другой продукт VMWare, а не тот, который вы используете в настоящее время. Признаюсь, я не знаю, действительно ли это решение осуществимо.