Как создать TCP-прокси, поддерживающий несколько хостов?

Я хотел бы создать TCP-прокси, поддерживающий несколько хостов. В примере, который я видел, был использован DNS-сервер для указания конкретного хоста на TCP-прокси, в котором хост был жестко запрограммирован. Прокси-сервер TCP не может обрабатывать несколько хостов, потому что, если бы все хосты были направлены на прокси-сервер TCP, прокси-сервер не знал бы, куда отправлять данные. Есть ли какие-либо способы обойти эту проблему?

0
задан 27 July 2021 в 02:40
1 ответ

TCP работает через IP, и IP не имеет понятия об узле (именах), а только об IP-адресах.

Таким образом, TCP также знает только об IP-адресах, но не об именах хостов.

Если вы хотите иметь что-то, обрабатывающее имена хостов, вам понадобится протокол поверх TCP (например, HTTP, SSH и т. Д.) Или преобразовать имена в IP-адреса перед использованием TCP, как обычно предоставляет DNS.

Или вам нужно, чтобы ваш TCP-прокси слушал отдельные порты и прокси, в зависимости от того, к какому порту осуществляется доступ. Однако у вас все еще есть проблема сопоставления имен не только с IP-адресом (прокси), но и с его портом, что возможно, но более сложно с DNS (если вы управляете клиентом, вы можете сделать это с помощью SRV записей или в будущем SVCB ).

2
ответ дан 28 July 2021 в 13:56

Теги

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