OpenVPN не перенаправляет весь трафик на VPN-туннель, когда локальная сеть 192.168.x с обеих сторон [дубликат]

Это канонический вопрос о разрешении конфликтов подсети IPv4 между локальной сетью VPN-клиента и одной через VPN-канал от него.

После подключения к удаленному местоположению через OpenVPN клиенты пытаются получить доступ к серверу в сети, которая существует в такой подсети, как 192.0.2.0/24. Однако иногда сеть в локальной сети клиента имеет один и тот же адрес подсети: 192.0.2.0/24. Клиенты не могут подключиться к удаленному серверу, введя его IP-адрес из-за этого конфликта. Они не могут даже получить доступ к общедоступному Интернету при подключении к VPN.

Проблема в том, что эта подсеть 192.0.2.0/24 должна быть маршрутизирована с помощью VPN, но она также должна быть маршрутизирована как клиентская LAN.

Кто-нибудь знает, как решить эту проблему? У меня есть доступ к серверу OpenVPN.

42
задан 25 November 2013 в 01:21
5 ответов

У меня есть простое решение, которое я использую в коворкинге с конфликтующим диапазоном IP-адресов (10.x)

Я подключился к сети с помощью своего мобильного телефона, затем я поделился сетевым подключением через Bluetooth со своим ноутбуком. Теперь я могу использовать VPN для своего удаленного работодателя.

Я уверен, что это будет работать точно так же через USB, если вам потребуется более быстрое соединение.

2
ответ дан 4 January 2021 в 10:04

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

В моем случае я добавил желаемое место назначения с сервера (192.168.1.100) в мою таблицу маршрутизации на моем Linux-клиенте через:

route add 192.168.1.100 dev tun0

После этого удалите этот статический маршрут с помощью команды удаления маршрута.

21
ответ дан 4 January 2021 в 10:04

Я использую Mac под управлением El Capitan. Хотя приведенные выше предложения не сработали для меня, они привели меня к рабочему решению:

  1. перед запуском VPN выполните ifconfig
  2. , запустите VPN, выполните ifconfig и обратите внимание на то, что является новый интерфейс. В моем случае это был ppp0 с IP-адресом 192.168.42.74

     ppp0: flags = 8051  mtu 1280
      inet 192.168.42.74 -> 192.0.2.1 маска сети 0xffffff00
     
  3. введите:

     sudo route add 192.168.1.79 192.168.42.74
     

Сначала я протестировал ping , а затем доказал, что он работает, обратившись к серверу git.

Когда я попытался использовать dev ppp0 в конце команды маршрута как упомянутое выше, оно жаловалось.

3
ответ дан 4 January 2021 в 10:04

Если вам просто нужно выбрать несколько одного или двух IP-адресов, добавьте инструкцию маршрута в файл конфигурации ovpn следующим образом:

route 192.168.1.10 255.255.255.255

route 192.168 .1.11 255.255.255.255

Он добавит маршрут только для этих IP-адресов при подключении vpn и удалит его, когда vpn отключился.

В любом случае работал у меня в Windows.

1
ответ дан 4 January 2021 в 10:04

Напоминаем, что вся эта проблема связана с многолетней нехваткой IPv4-адресов. , и широкое использование диапазона частных IP-адресов за NAT для обхода этой нехватки!

Идеальное и окончательное решение этой проблемы довольно простое (хотя это может и займет некоторое время, чтобы быть глобально развернутым) -out): IPv6 ...

В мире IPv6 нет дефицита общедоступных IP (и не будет, событие через несколько десятилетий). Таким образом, нет причин не иметь общедоступный IP-адрес на каждом устройстве в каждой сети. А если вам нужна изоляция сети, продолжайте фильтровать с помощью брандмауэра, но без уродливого NAT ...

0
ответ дан 4 January 2021 в 10:04

Теги

Похожие вопросы