Повторное сопоставление сети с iptables и PPTP VPN
У меня есть две разные сети:
- Домашняя сеть 192.168.1.0/24
A - Домашний ПК (192.168.1.100)
B - Домашний маршрутизатор (192.168.1.1 LAN IP - XXX публичный IP) - Офисная сеть 192.168.1.0/24
C - Файловый сервер (192.168.1.200)
D - Офисный маршрутизатор (192.168.1.1 сетевой IP - публичный IP XXXX)
Обе сети имеют одинаковый 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.
Кто-нибудь может помочь или дать подсказку о том, как это настроить?
2 ответа
Я наконец нашел способ решить проблему. Необходимо настроить 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 работают, потому что их трафик имеет NONAT, указанный в селекторах трафика VPN. Если оборудование вашего офисного маршрутизатора не является уникальным в этом отношении и вы не можете выполнять NAT за брандмауэром, то я не верю, что то, что вы хотите сделать, возможно. Я прошу прощения, что я не могу помочь в дальнейшем.
Удачи:)