
Gostaria de criar um proxy TCP que suporte vários hosts. O exemplo que vi foi onde um servidor DNS foi usado para apontar um host específico para um proxy TCP que tinha o host codificado nele. O proxy TCP não pode lidar com vários hosts porque se todos os hosts fossem roteados para o proxy TCP, o proxy não saberia para onde enviar os dados. Existe alguma maneira de contornar esse problema?
Responder1
O TCP funciona sobre IP e o IP não tem noção de host (nomes), mas apenas de endereços IP.
Como tal, o TCP também conhece apenas endereços IP, não nomes de host.
Se você deseja ter algo que lide com nomes de host, você precisa de um protocolo em cima do TCP (ex: HTTP, SSH, etc.) ou traduza nomes em endereços IP antes de usar o TCP, como o DNS normalmente fornece.
Ou você precisa do seu proxy "TCP" para escutar em portas separadas e coisas de proxy, dependendo de qual porta é acessada. No entanto, você ainda tem o problema de mapear nomes não apenas para um endereço IP (do proxy), mas também para sua porta, o que é possível, mas mais difícil com o DNS (se você controla o cliente, pode fazer isso usando SRV
registros ou no futuros SVCB
).