Назад | Перейти на главную страницу

Переназначение сети с помощью iptables и PPTP VPN

У меня две разные сети:

  1. Домашняя сеть 192.168.1.0/24
    A - Домашний ПК (192.168.1.100)
    B - Домашний маршрутизатор (192.168.1.1 LAN IP - x.x.x.x общедоступный IP)
  2. Офисная сеть 192.168.1.0/24
    C - Файловый сервер (192.168.1.200)
    D - Офисный маршрутизатор (192.168.1.1 LAN IP - x.x.x.x общедоступный IP)

Обе сети имеют одинаковый IP-адрес и не могут быть изменены.
Я установил сервер pptp в D (офисный маршрутизатор).

Я установил клиент pptp в A (домашний ПК), получив второй ip для туннеля 172.19.0.1

Я хочу получить доступ от A (192.168.1.100) к C (192.168.1.200), но я могу достичь D только из-за того же диапазона IP.

Я хочу замаскировать или переназначить сеть 2, чтобы я мог получить доступ с A (192.168.1.100) на C (172.19.0.200), таким образом маршрутизатор D мог преобразовать ip 172.19.0.200 в 192.168.1.200.

Маршрутизатор D основан на Linux, поэтому решение должно быть настроено с помощью iptables.

Кто-нибудь может помочь или подсказать, как это настроить?

Наконец-то я нашел способ решить проблему. Необходимо настроить iptables для NAT всей сети. Это делается опцией NETMAP, поэтому нам нужно запустить:

iptables -v -t nat -A PREROUTING -d 192.168.1.0/24 -j NETMAP --to 172.19.0.0/24

Никакого специального оборудования. Если маршрутизатор основан на Linux, вы можете использовать iptables. Для других систем проверьте эквивалент netmap.

Принято считать, что вы не можете создать VPN-туннель между двумя сайтами с одинаковым диапазоном сети по уважительной причине. Тем не менее, некоторые примечания и предложения, которые помогут вам на вашем пути:

Вы опечатали свои общедоступные IP-адреса? 192.168.0.0/16 - это частные немаршрутизируемые IP-адреса. Если это действительно общедоступные IP-адреса каждого из ваших маршрутизаторов, тогда ваши маршрутизаторы не являются граничными устройствами, и на ваших граничных маршрутизаторах (возможно, ваших модемах) потребуется выполнить дополнительные настройки для пересылки соответствующего трафика на маршрутизаторы. Возможно, вашим маршрутизаторам также потребуется поддерживать NAT-T с этой конфигурацией.

Кроме того, если я понимаю, что вы настроили на данный момент:

Клиент A - (vpn) - Маршрутизатор D - Сервер C

Клиент A: 172.19.0.1/24 Внешний маршрутизатор D: ?? (см. примечание выше) Внутренний маршрутизатор D: ?? (см. примечание выше) Сервер C: 172.19.0.200/24 ​​(желательно)

Я мог видеть, что подключение достигается путем установки второй сетевой карты на ваш сервер (при условии, что на нем еще нет дополнительной) и установки этой карты как 172.19.0.200/24, для этого вам потребуется добавить вторую сеть на маршрутизатор D (ваш критерий состоял в том, чтобы сеть 192.168.1.0 оставалась неизменной). Таблица маршрутизации сервера C должна отражать, что трафик, предназначенный для сети 172.19.0.0/24, должен выходить на эту вторую карту, а IP-адрес маршрутизатора во второй сети является шлюзом.

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

РЕДАКТИРОВАТЬ Что касается комментария OP. Как правило, вы не можете использовать NAT для входящего трафика VPN, потому что он все еще зашифрован на брандмауэре маршрутизатора. Сети VPN работают, потому что для их трафика в селекторах трафика VPN указано значение NONAT. Если аппаратное обеспечение вашего офисного маршрутизатора не является уникальным в этом отношении и вы не можете выполнять NAT через брандмауэр, я не верю, что то, что вы хотите сделать, возможно. Прошу прощения за то, что не могу больше помочь.

Удачи :)