Перенаправить порты с serverA на serverC через сервер B, но разрешить серверу B связываться как отдельный сервер

Следующий случай:

ServerA не имеет открытых портов. IP 1.1.1.1. Он может видеть ServerB.

ServerB имеет открытые порты 1000, 2000. IP 2.2.2.2. Он может видеть только ServerC.

ServerC имеет открытые порты 1000, 2000. IP 3.3.3.3. Он не видит другие серверы.

Здесь ServerA не видит Server C.

Это можно проиллюстрировать на этой схеме .

Мне нужно разрешить ServerA взаимодействовать с ServerC через порты 1000 и 2000. Это можно сделать через ServerB, используя iptables (переадресация портов, как здесь https://serverfault.com/a/838865/ 518609 ). Однако проблема в том, что ServerB должен также связываться с ServerC, используя одни и те же порты.

Таким образом, ServerA и ServerB должны взаимодействовать с ServerC, а ServerC должен различать, какой сервер (A или B) отправил пакет, но только ServerB может подключаться к ServerC .

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

ОС - SLES (SUSE Linux Enterprise Сервер).

Возможно ли это вообще?

0
задан 16 November 2019 в 15:48
1 ответ

iptables не является маршрутизатором.

Вы имеете вариант использования для этих потоков, позволяете им. Направьте таким образом, что A и B имеют пути к C. Позвольте соответствующие порты в любом брандмауэре и следуйте за любой другой соответствующей политикой безопасности своей организации.

узел немаршрутизатора А только должен быть в пути, если он предоставляет некоторую услугу, middlebox стиль. Как прокси или брандмауэр.

1
ответ дан 4 December 2019 в 15:35

Теги

Похожие вопросы