OpenVPN: маска удаленного сетевого IP диапазона
У меня есть настройка 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 ответ
Не существует простого решения, кроме правильного, которое вы, кажется, хотите избежать - вы действительно не хотите делать это, поскольку наличие одного и того же IP-адреса в двух местах в сети нарушает работу. К сожалению, правильное решение - переместить одну сеть в другой диапазон.
В зависимости от того, как именно настроена сеть, вы можете использовать некоторые приемы. К сожалению, эти решения являются грязными и сложными для отладки. Сначала общий материал:
Вы можете использовать маску сети для маршрутизации трафика. Более конкретная маска будет иметь прецедент над более общей. Таким образом, вы можете рекламировать отдельные IP-адреса по каналу VPN, чтобы маршрутизатор знал, что предпочитает это.
Это оставляет проблему в том, что, хотя маршрутизатор будет знать, как направлять трафик, трафик не попадет к маршрутизатору, потому что он находится в локальной сети. Вы можете исправить это, разместив статические маршруты для определенных IP-адресов со шлюзом маршрутизатора на ваших рабочих станциях или переместив OpenVPN на рабочую станцию. Это также будет означать, что совпадение IP-адресов в вашей локальной сети означает, что IP-адрес идентичен на обоих сайтах, где ваша VPN не будет работать. Вы можете решить эту проблему для каждого хоста, используя исходную маршрутизацию, если она поддерживается хостом. Легко сказать, трудно сделать, не уверен, что Windows может сделать это из коробки.
Альтернатива - использовать сопоставление портов и заставить VPN-сервер перевести ваш запрос. То есть вы запрашиваете что-то у 100.0.0.1, а VPN-сервер использует NAT для перезаписи пакета на 10.0.0.1. Это намного проще, но означает отказ от DNS или запуск решения DNS.