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

478
NictraSavios

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

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

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

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

0
Какой VPN-клиент может работать только на Windows? harrymc 6 лет назад 0
@harrymc Barracuda, PulseSecure и еще один, которого я не могу вспомнить до макушки. Если у них есть клиенты Linux, я не предоставляю их клиенту. Так что вы можете бросить Fortinet и Sonic Wall в свои тоже. Разные клиенты дают мне разные VPN, но программное обеспечение, которое я использую для своей работы, работает только в Linux. Итак, я вынужден в этом изобретении. NictraSavios 6 лет назад 0
Почти у всех vpn есть клиенты Linux. Например, [барракуда] (https://campus.barracuda.com/product/networkaccessclient/doc/46206563/install-the-barracuda-vpn-client-for-linux-and-openbsd/). Разве это не будет проще? harrymc 6 лет назад 0
Как я уже сказал, обычно я не могу получить версии для Linux. Я не предоставил их, и иногда загрузки находятся за платными системами. Даже если бы я собрал их все, любые проблемы с работой были бы ответственностью. Это не будет на клиенте, потому что я не следовал их инструкциям. NictraSavios 6 лет назад 0
Но да, это было бы проще. Поверьте мне, я бы не стал спрашивать об этом, если бы не попробовал каждое простое решение, которое смогу придумать. NictraSavios 6 лет назад 0
Я не уверен, что существует много платных VPN-клиентов для Linux. И даже тогда клиент заплатил за продукт и поэтому может получить клиент для Linux. Я продолжаю в этом направлении, потому что, по моему опыту, крупные компании имеют плохую привычку делать свои VPN обязательными, так что подключенная виртуальная машина будет отключена от сети хоста и не сможет направлять запросы - к счастью, ни один брандмауэр не сможет отключить рабочий стол виртуальной машины от VMWare. , harrymc 6 лет назад 0
Существует реальная возможность использования встроенного гипервизора, в том смысле, что вы используете виртуальную машину Windows, которая сама работает под управлением виртуальной машины Linux. Но будет гораздо проще получить физическую машину с Windows, работающую под виртуальной машиной Linux, чем наоборот. Это будет работать даже в случае обязательного VPN. harrymc 6 лет назад 0
Что стоило бы мне несколько тысяч за новый сервер, тысячу за билет на самолет в город, в котором находится мой округ Колумбия, проблемы с установкой машины с металлическими окнами в моем округе и т. Д. Вы правы, а я Я пришел к этому решению сам раньше. Это просто далеко от идеала. Для целей вопроса, вы можете предположить, что VPN не являются обязательными. NictraSavios 6 лет назад 0
Кроме того, вы правы, клиент * может * получить мне клиент Linux. Но они * не будут * или ..., не знаю как. Да, я знаю, что он просто заходит на сайт и нажимает кнопку загрузки. NictraSavios 6 лет назад 0

2 ответа на вопрос

1
harrymc

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

Я уже думал об этом решении, и это было моим «следующим лучшим», если я не мог заставить это работать. У него много проблем, к сожалению, но если это единственное решение - пусть будет так. Я не могу пометить это как правильное, поскольку это не решает вопрос, который я задаю, и не работает для моей ситуации по многим причинам. (Меньше всего из того, что несколько машин Linux, которые уже установлены, должны проходить через этот хост Windows) Но, если вы знаете, как на самом деле решить вопрос, я был бы благодарен. NictraSavios 6 лет назад 0
Хм. Может быть, возможно использовать хост Windows, виртуальную машину Linux на вершине, которая работает как маршрутизатор, и маршрутизировать виртуальные машины на VMware через него? NictraSavios 6 лет назад 0
Я включил в свой ответ все решения проблемы, которые я принимаю, с учетом обязательного VPN. harrymc 6 лет назад 0
Хорошо, спасибо. Все еще не решает мой вопрос, но он дает мне альтернативы, если решение не будет представлено. NictraSavios 6 лет назад 0
Честно говоря, я думаю, что вы, возможно, гонитесь за несуществующей проблемой. Весьма вероятно, что стандартный клиент OpenVPN под Linux будет работать со многими (если не со всеми) вашими VPN. Современные маршрутизаторы, поддерживающие VPN, могут подключаться практически к любому VPN-серверу в мире, и почти все они основаны на Linux. В конце концов, VPN - это известный стандарт. Вы определили решение для своего питомца, которое может потребовать много работы для реализации, но в конечном итоге может оказаться несколько непригодным. Я пытался решить вашу основную проблему, а не ваше решение для нее. harrymc 6 лет назад 0
Моя существующая проблема заключается в требовании RDP на сервер в каждой отдельной компании, которую я обслуживаю, потому что моя программа не может работать через их VPN. Нет, их VPN не работают через openVPN. Иногда они не используют современное оборудование, и если что-то пойдет не так, и я не использую программное обеспечение, которое они мне прислали, с конфигурацией, которую они мне прислали, я потеряю контракт и деньги. NictraSavios 6 лет назад 0
Вы также можете попробовать запустить Windows VPN-клиент непосредственно в Linux, используя [Wine] (https://wiki.winehq.org/Main_Page), который является стандартным пакетом Linux. harrymc 6 лет назад 0
1
apocalysque

Насколько я согласен, что это плохая идея, вы, похоже, убеждены, что это лучшее решение для ваших обстоятельств. Лично я собираюсь собрать все 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.

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