Как маршрутизировать все соединения с одной машины (Linux) через VPN на другую (Windows) на VMWare ESXi?

0

У меня есть особая проблема, когда часть программного обеспечения может быть запущена только в Linux, но должна подключаться к удаленному серверу через VPN-клиент, который может работать только в Windows.

С физическим оборудованием, я предполагаю, что я мог бы просто проложить кабель Ethernet между коробкой Linux и коробкой Windows, и секунду от коробки Windows до маршрутизатора. (Не знаю, сработает ли это, но звучит так, как должно).

Как я могу сделать это на гипервизоре VMWare ESXi, используя две виртуальные машины?

Я нашел несколько статей, которые могут мне помочь, но хотелось бы немного опыта в этом вопросе.

NictraSavios
источник
Какой VPN-клиент может работать только на Windows?
harrymc
@harrymc Barracuda, PulseSecure и еще один, которого я не могу вспомнить до макушки. Если у них есть клиенты Linux, я не предоставляю их клиенту. Так что вы можете бросить Fortinet и Sonic Wall в свои тоже. Разные клиенты дают мне разные VPN, но программное обеспечение, которое я использую для своей работы, работает только в Linux. Итак, я вынужден в этом изобретении.
NictraSavios
Почти у всех vpn есть клиенты Linux. Например барракуда , Разве это не будет проще?
harrymc
Как я уже сказал, обычно я не могу получить версии для Linux. Я не предоставил их, и иногда загрузки находятся за платными системами. Даже если бы я собрал их все, любые проблемы с работой были бы ответственностью. Это не будет на клиенте, потому что я не следовал их инструкциям.
NictraSavios
Но да, это было бы проще. Поверьте мне, я бы не стал спрашивать об этом, если бы не попробовал каждое простое решение, которое смогу придумать.
NictraSavios

Ответы:

1

Насколько я согласен, что это плохая идея, вы, похоже, уверены, что это лучшее решение для ваших обстоятельств. Лично я собираюсь собрать все VPN-клиенты. С этим сказал ...

Во-первых, вам нужно включить маршрутизацию и удаленный доступ на машине с Windows, на которой работает VPN-клиент. Ссылка «Настройка локальной сети», которая у вас есть, должна привести вас к этой точке.

Затем вам нужно настроить маршрут, который будет направлять трафик для ваших сетей / хостов VPN через намеченный интерфейс (адаптер VPN). Если вы не знаете, какой трафик, вы можете использовать маршрут по умолчанию, который будет направлять весь трафик. После того, как вы настроили это в своем окне Windows, вам нужно будет установить адрес шлюза по умолчанию в окне Linux, чтобы он был IP-адресом сетевого адаптера в окне Windows.

Хотя вы можете настроить маршрутизацию на окнах с помощью командной строки, может быть немного проще начать с использования инструмента с графическим интерфейсом, такого как Nirsoft NetRouteView:

https://www.nirsoft.net/utils/network_route_view.html

Убедитесь, что вы запускаете это как администратор, иначе у вас просто будут головные боли;) Это позволит вам просматривать / редактировать / удалять существующие маршруты и создавать новые. В качестве FYI, если у вас есть более одного маршрута по умолчанию (0.0.0.0), маршрут с наименьшей метрикой является маршрутом, который имеет приоритет. Поэтому, возможно, вам придется соответствующим образом настроить параметры ваших маршрутов.

Если это часто используемая / постоянная установка, вы можете оставить окно linux настроенным как есть и добавить дополнительные маршруты в окне окна для обработки трафика в различные VPN-туннели. Когда вы сделаете ваши маршруты «постоянными», они будут сохранены через перезагрузку. Непостоянные маршруты теряются при перезагрузке компьютера. Вы также можете указать адаптер (интерфейс) для маршрутов при их настройке. Например, вы можете настроить маршруты для VPN-A и VPN-B, а когда VPN-A подключен, а VPN-B нет, маршрут для VPN-B будет по существу игнорироваться, а трафик будет маршрутизироваться через VPN-A.

apocalysque
источник
Итак, оттуда я могу просто сказать Linux использовать его в качестве шлюза. Потрясающие!
NictraSavios
О, и причина, по которой собирать клиентов - не мое решение, состоит в том, что, если клиент когда-нибудь даст мне VPN, у которой точно нет клиента Linux, я облажался. Если клиент когда-либо отказывается дать мне свой клиент Linux, а я сам не могу его получить, я облажался.
NictraSavios
Эй, чувак, я здесь не для того, чтобы судить. У всех нас есть свои проблемы, и я полностью понимаю, что часто обстоятельства находятся вне нашего контроля. Удачи в настройке, и если вам нужна дополнительная помощь, стреляйте в меня в личку.
apocalysque
1

Ситуация, с которой сталкивается автор, - это требование к несколько клиентов его используют 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, отличный от того, которым вы являетесь в настоящее время использую. Я признаю, что не знал, действительно ли это решение возможно.

harrymc
источник
Я уже думал об этом решении, и это было моим «следующим лучшим», если я не мог заставить это работать. У него много проблем, к сожалению, но если это единственное решение - пусть будет так. Я не могу пометить это как правильное, поскольку это не решает вопрос, который я задаю, и не работает для моей ситуации по многим причинам. (Меньше всего из того, что несколько машин Linux, которые уже установлены, должны проходить через этот хост Windows) Но, если вы знаете, как на самом деле решить вопрос, я был бы благодарен.
NictraSavios
Хм. Может быть, возможно использовать хост Windows, виртуальную машину Linux на вершине, которая работает как маршрутизатор, и маршрутизировать виртуальные машины на VMware через него?
NictraSavios
Я включил в свой ответ все решения проблемы, которые я принимаю во внимание, с учетом обязательного VPN.
harrymc
Хорошо, спасибо. Все еще не решает мой вопрос, но он дает мне альтернативы, если решение не будет представлено.
NictraSavios
Честно говоря, я думаю, что вы, возможно, гонитесь за несуществующей проблемой. Весьма вероятно, что стандартный клиент OpenVPN под Linux будет работать со многими (если не со всеми) вашими VPN. Современные маршрутизаторы, поддерживающие VPN, могут подключаться практически к любому VPN-серверу в мире, и почти все они основаны на Linux. VPN - это известный стандарт. Вы определили решение для своего питомца, которое может потребовать много работы для реализации, но в конечном итоге может оказаться несколько непригодным. Я пытался решить вашу основную проблему, а не ваше решение для нее.
harrymc