У меня есть настройка VPN с использованием OpenVPN и маршрутизатора OpenWrt/LEDE.

Все работает хорошо, за исключением тех случаев, когда я дома (это мой главный офис), где у меня такая же настройка сети.

Вот настройки, общие для обеих локальных сетей:

OpenVPN using Tunnelblick client on Mac OS X

Router:    10.0.0.1
Mask:      255.255.255.0
DNS:       10.0.0.1

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

Теперь я искал способ сделать все VPN-IP-адреса маскированными как 10.0.1. * Вместо их реальных локальных IP-адресов. Не нашел быстрого решения этой проблемы.

Таким образом, это выглядит так:

10.0.1.5 > goes through VPN > 10.0.0.5
10.0.0.5 > stays local      > 10.0.0.5

Может быть, в файле конфигурации клиента OpenVPN есть настройка, которую я мог бы использовать для маскировки всех удаленных IP-адресов в другой подсети?

1 ответ1

0

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

В зависимости от того, как именно настроена сеть, вы можете использовать некоторые приемы. К сожалению, эти решения грязны и сложны в отладке. Сначала общий материал:

Вы можете использовать маску сети для маршрутизации трафика. Более конкретная маска будет иметь прецедент над более общей. Таким образом, вы можете рекламировать отдельные IP-адреса через канал VPN, чтобы маршрутизатор знал, что это предпочтительнее.

Это оставляет проблему в том, что, хотя маршрутизатор будет знать, как направлять трафик, трафик не попадет на маршрутизатор, потому что он находится в локальной сети. Вы можете исправить это, разместив статические маршруты для определенных IP-адресов со шлюзом маршрутизатора на ваших рабочих станциях или переместив OpenVPN на рабочую станцию. Это также будет означать, что совпадение IP-адресов в вашей локальной сети означает, что IP-адрес идентичен на обоих сайтах, где ваша VPN не будет работать. Вы можете решить эту проблему для каждого хоста, используя маршрутизацию источника, если она поддерживается хостом. Легко сказать, трудно сделать, не уверен, что Windows может сделать это из коробки.

Альтернатива - использовать сопоставление портов и заставить VPN-сервер перевести ваш запрос. То есть вы запрашиваете что-то у 100.0.0.1, а VPN-сервер использует NAT для перезаписи пакета на 10.0.0.1. Это намного проще, но означает отказ от DNS или запуск решения DNS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .