Я разработчик Java и несколько недель буду отвечать за сеть. Нашему клиенту требуется VPN-соединение с его сетью, которую я уже смонтировал (использование маршрутизатора TP-link для установки туннеля IPSEC LAN-to-LAN).
Наша сеть: 110.110.1.0/24 Наш Сервер 110.110.1.100/24 Сеть клиента: 192.168.100.0/24
Но, к моему удивлению, цель подключения - иметь возможность подключиться к определенному серверу, который находится в другой подсети на стороне клиента.
Сервер клиента: 192.168.1.68/32
Значит, он в другой подсети (с другой маской сети) ... Как мне установить соединение? Я знаю, что сетевая маска ничего не значит в соединении LAN-to-LAN, но поскольку цель находится в другой подсети с другой сетевой маской.
На мой взгляд (я не эксперт), мы должны просто сделать VPN в подсети, где находится сервер, или добавить эту подсеть в конфигурацию VPN на стороне клиента.
На мой взгляд (я не эксперт), мы должны просто сделать VPN для той подсети, где находится сервер, или добавить эту подсеть в конфигурацию VPN на стороне клиента.
Да. Ты прав. У вас есть 3 варианта:
A) Создайте VPN-соединение напрямую с локальной сетью сервера (если там есть брандмауэр с поддержкой vpn, подключенный напрямую к Интернету).
Б) Добавьте подсеть сервера в конфигурацию VPN на обеих сторонах туннеля и выполните некоторую конфигурацию маршрутизации (в сети вашего клиента), если локальная сеть сервера не подключена напрямую к брандмауэру или брандмауэр не является основным шлюзом сети сервера. .
C) Выполните некоторые действия с NAT, если варианты A и B недоступны (подробности ниже).
Предположим следующую диаграмму (ваша текущая конфигурация):
# Duke's Network # # Client's Network #
[ 110.110.1.0/24 ] <----------- VPN Tunnel -----------> [ 192.168.100.0/24 ]
Заклинание NAT-волшебства №1: Огненный шар
В сети вашего клиента выберите доступный IP-адрес из сети 192.168.100.0/24 (например, 192.168.100.254) и создайте правила DNAT и SNAT «1 к 1» на брандмауэре клиентов, указывающие на IP-адрес сервера.
# Connection from Duke's Network to server on client's network
110.110.1.0/24 ------> 192.168.100.254 [DNAT] ------> 192.168.1.68
# Response from the server
192.168.1.68 --------> [SNAT] 192.168.100.254 ------> 110.110.1.0/24
Это будет работать нормально, если брандмауэр является шлюзом сервера, или если можно настроить некоторые маршруты на сервере или вдоль пути. Подключение также будет работать в обоих направлениях, что означает, что ваша сеть или сервер могут положить начало связи друг с другом.
Если ваш клиент не может изменить конфигурацию маршрутизации и брандмауэр не является шлюзом для сервера, но сервер все еще может подключиться к брандмауэру во внутренней сети клиента, выполните следующие действия:
NAT-волшебство, Заклинание №2: Чародейские врата
Здесь вы создадите двойной NAT, 1-к-1 и многие-к-1 (также известный как маскарад в терминологии iptables):
### REQUEST ###
# Duke's network perspective (notice the 1-to-1 DNAT from Spell #1)
[Duke FW OUT ] 110.110.1.0/24 ---- VPN ----> 192.168.100.254 [ Client FW IN ]
# The packet is inside de Client's FW, here we do another NAT (many-to-1)
# and change de source addr of your network to the internal IP addr of the FW
[ Firewall OUT ] 192.168.100.1 (FW LAN IP) -----> 192.168.1.68
Таким образом будет казаться, что соединение идет от брандмауэра к серверу. Когда сервер отвечает на FW, мы инвертируем NAT.
Обратите внимание, что при использовании этой конфигурации соединения могут быть только инициированный из вашей сети. Клиентский сервер сможет отвечать на ваши пакеты, но не сможет положить начало любое подключение к вашей сети.
NAT-Wizardry, Заклинание № 3: "Странный" (также известный как Кошмар Администрации Бездны)
Здесь стоимость администрирования и обслуживания будет расти экспоненциально, в зависимости от того, сколько хостов в вашей сети серверу необходимо инициировать подключения к.
По сути, есть два способа сделать эту конфигурацию и сожалеть до конца ваших дней (фактически, заставить клиента сожалеть, поскольку это будет выполнено на его брандмауэре).
3a) Привяжите новый неиспользуемый IP-адрес к LAN-интерфейсу клиентского брандмауэра и создайте NAT «1 к 1», указывающий на IP-адрес в вашей сети, который должен быть доступен клиентскому серверу. Вам нужно будет сделать это для каждого нового IP-адреса в вашей сети, к которому должен получить доступ клиентский сервер.
3b) Создайте PAT (преобразование адресов порта). В этой конфигурации вы можете сопоставить определенные порты TCP | UPD с одного IP-адреса (брандмауэр) на любой порт по вашему выбору на другом IP-адресе (в вашей сети). Это необходимо будет выполнить для каждой службы / порта, к которым должен получить доступ сервер клиента в вашей сети.
TL; DR: Выберите вариант B и устраните все проблемы с маршрутизацией.