Рейтинг:0

Проблема с перекрестными туннелями OpenVPN

флаг ke

У меня следующая топология сети. Я физически нахожусь на VPN-клиенте 1. Сначала я успешно устанавливаю VPN-туннель 1, и VPN-клиент 1 подключается к VPN-серверу 2 и может общаться с VPN-клиентом 2, который подключен к той же локальной сети, что и VPN-сервер 2.

Однако, когда я пытаюсь установить VPN-туннель 2 от VPN-клиента 2 к VPN-серверу 1 (имея SSH-подключение через VPN-туннель 1 к VPN-клиенту 2), я теряю подключение к VPN-клиенту 2 и даже не могу пропинговать его (VPN Туннель 1 остается открытым).Есть идеи, что здесь может быть не так?

Все туннели VPN реализованы с использованием серверов/клиентов OpenVPN.

Большое спасибо!

Диаграмма топологии

dominix avatar
флаг gf
ваше описание не понятно, попробуйте использовать "машину" для машины и клиента и сервера для службы openvpn, так всем будет понятно какая машина к какой подключена каким методом. это важно, потому что сервер openvpn также сам по себе является маршрутизатором, который управляет поведением его клиента.
Cur10usMind avatar
флаг ke
@dominix Я хотел сократить количество используемых слов до минимума. Вопрос имеет смысл, только если вы также посмотрите на прилагаемую диаграмму.
Рейтинг:0
флаг gf

Вот что у нас получилось (ваше изображение скоро будет недоступно)

           v-------<<--VPN2----------------v
[CLI1] --- [SRV1] --- {Интернет} --- [SRV2] --- [CLI2]
   ^------------VPN1->>------------^

Что вы делаете при установке второй VPN, так это устанавливаете второй маршрут для той же ссылки CLI1 на CLI2. Таким образом, когда CLI2 пытается связаться с CLI1, используя VPN2, CLI1 использует VPN1, чтобы связаться с CLI2. Поэтому я совершенно уверен, что у вас есть какой-то NAT или MASQUERADE на пути, которые не позволяют установить TCP.

как только ваш первый VPN установлен, вы должны использовать его для обратного пути, поэтому CLI2 достигнет CLI1, используя маршрут, который CLI1 уже знает, и он будет работать.в основном вы НЕ можете установить VPN2, но указать маршрут обратно к вашему CLI1 на вашем openvpn на SVR2

Другим (лучшим и более простым) способом сделать то же самое будет создание VPN между SRV1 и SRV2 и указание обоим маршрута другого, так что ансамбль будет рассматриваться как простой маршрут между двумя локальными сетями, который каждый клиент с обеих сторон будет использовать. использовать для подключения к любому другому клиенту на другой стороне VPN.

[CLI1] --- [SRV1] --- {Интернет} --- [SRV2] --- [CLI2]
            ^-------VPN1->>-------^

Имейте в виду, что openVPN — это две вещи: 1/менеджер интерфейсов с криптографией между локальным и удаленным интерфейсами, 2/маршрутизатор внутри машины, который обычно выступает в качестве маршрутизатора. Таким образом, вы должны указать маршрут для своих SRV1 и SRV2. и укажите маршрут к вашему процессу openVPN => посмотрите на маршрут и клиент-конфигурация-каталог опции в openVPN;

[CLI1] --- [SRV1] --- {Интернет} --- [SRV2] --- [CLI2]
            ^ ^
        RouteToLAN2 RouteBackToLAN1
            ^-------VPN1->>-------^
Cur10usMind avatar
флаг ke
Спасибо, что нашли время объяснить! Симметричные VPN-туннели между двумя маршрутизаторами были бы идеальным сценарием, однако они не поддерживают клиентов (Open)VPN. Поэтому мне приходится запускать эти клиенты на другом устройстве в соответствующих локальных сетях.
Cur10usMind avatar
флаг ke
Я также заметил, что по какой-то причине интерфейс OpenVPN tun0 на VPN-клиенте 2 (когда он подключается к VPN-серверу 1) вызывает отказ его интерфейса LAN eth0 и, как следствие, начальное соединение между ним и VPN-клиентом 1. сбрасывается.Я переустановил OpenVPN на VPN-клиенте 2, и проблема была решена. Я еще не дошел до сути. Я дам обновление, как только (надеюсь) это сделаю!
dominix avatar
флаг gf
Я не знаю, почему вы так сказали, полностью поддерживается и естественно иметь и клиент, и сервер на одной машине. Попробуйте объяснить, почему вы думаете, что не смогли. Однако, по моему предложению, вам просто нужен один сервер на SRV2 и один клиент на SRV1.
dominix avatar
флаг gf
пожалуйста, покажите пример вашей конфигурации openvpn client2 в исходном сообщении. Я (или некоторые другие) могу указать на любую неправильную конфигурацию.
Cur10usMind avatar
флаг ke
Маршрутизаторы, на которых работает OpenVPN-сервер, не поддерживают VPN-клиент.
dominix avatar
флаг gf
это один и тот же двоичный файл, который действует как сервер или клиент, поэтому термин «поддержка» здесь неуместен. Если он действует как openvpn-сервер, он _поддерживает_ openvpn, поэтому по конфигурации он также должен поддерживать клиент openvpn. Покажи ошибки, или используемый конфиг, и увидишь.
Cur10usMind avatar
флаг ke
Домашние маршрутизаторы, которые я использую, к сожалению, не поддерживают клиент OpenVPN через меню конфигурации.
dominix avatar
флаг gf
Так что это больше не проблема с маршрутом или openVPN, а проблема с неправильным представлением о вашем домашнем маршрутизаторе. Вы должны принять мой ответ или удалить свой вопрос.
Cur10usMind avatar
флаг ke
Я думаю, у вас возникло недоразумение. Мой вопрос был о том, что может быть не так с топологией, которую я представил, то есть с VPN-клиентами, работающими на машинах за маршрутизаторами. Я также указал, что переустановка OpenVPN решила проблему. Вы упомянули возможность запуска VPN-клиентов на маршрутизаторах, и я ответил, что это невозможно из-за отсутствия такой возможности настройки на маршрутизаторах. Поэтому я не уверен, в какой момент мой вопрос стал «неправильным представлением о домашнем маршрутизаторе», поскольку вы все равно первыми подняли его.
Cur10usMind avatar
флаг ke
Я не собираюсь удалять свой вопрос, так как считаю, что другие пользователи могут столкнуться с аналогичной проблемой, и переустановка OpenVPN на клиентах может решить эту проблему.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.