во-первых, извините, если я неправильно использую терминологию в этом посте. Я совершенно новичок в AWS и сетевых вещах в целом.
Вот проблема, над которой я работаю: я хочу, чтобы мое приложение для генерации данных в частной сети (частной подсети) отправляло данные через концентратор (другой экземпляр ec2), который находится в том же VPC, что и приложение для генерации данных, но в общедоступной подсети. . Я установил Strongswan на концентратор и установил VPN-туннель с пунктом назначения.
Вот как будет выглядеть изображение:
Образец архитектуры
Немного об архитектуре:
Целевая машина находится в том же регионе, но в другом VPC в другой учетной записи и имеет IP-адрес 172.31.x.x.
Приложение для генерации данных в настоящее время и в целях безопасности находится в частной подсети и недоступно для общего доступа.
Единственная цель концентратора на этой диаграмме — первоначально настроить туннель VPN с целевой машиной, а затем иметь возможность пересылать данные из приложения «Генератор данных» на целевую машину через туннель VPN.
Что я сделал до сих пор:
Я установил strongswan на концентратор и следовал инструкциям, которые я загрузил с сайта AWS на страницу VPN сайта (используя идентификатор VPN для этого конкретного), и смог отправить пинг на 172.31.x.x из концентратора и получил успешные пинги. Таким образом, шаг 1 был выполнен успешно, и я могу проверить таблицу маршрутов с помощью командыnest -rn и увидеть переадресацию для пункта назначения 172.31.0.0 на 0.0.0.0.
Теперь шаг 2 заключался в том, чтобы установить соединение из приложения для генерации данных с концентратором. Это было легко, поскольку они находятся в одном и том же VPC, и редактирование таблиц маршрутизации подсети должно сделать это возможным. Мне удалось подключиться к концентратору из приложения Data. Первоначально я поместил их в одну и ту же общедоступную подсеть, чтобы избежать изменения таблиц маршрутизации и тому подобного (теперь у меня нет проблем с размещением их в одной и той же подсети, и я могу редактировать группы безопасности, чтобы предотвратить доступ к этому с любого внешнего IP-адреса). Итак, шаг 2 прошел успешно.
Вот что я пытаюсь сделать: я хочу, чтобы Concentrator прослушивал данные, поступающие из приложения Data Generator на любом порту, а затем пересылал любые данные, которые он получает от Data Generator, на целевую машину через VPN-туннель.
В качестве начального решения я пытаюсь просто выполнить пинг от генератора данных до целевой машины, чтобы добиться успеха через концентратор (в настоящее время время ожидания истекло).
Поэтому, когда я говорю ping 172.31.x.x в приложении Data, ему нужно знать, чтобы сначала связаться с концентратором, а затем концентратор должен выяснить, что все запросы, поступающие из приложения Data, должны быть отправлены на целевую машину через VPN-туннель. И затем, когда концентратор получает ответы от Target через VPN, ему нужно выяснить, что все эти ответы от Target нужно отправить в приложение Data.
Как я могу этого добиться?
Спасибо