
Me gustaría crear un proxy TCP que admita múltiples hosts. El ejemplo que vi fue donde se usó un servidor DNS para señalar un host específico a un proxy TCP que tenía el host codificado. El proxy TCP no puede manejar múltiples hosts porque si todos los hosts fueran enrutados al proxy TCP, el proxy no sabría a dónde enviar los datos. ¿Hay alguna forma de solucionar este problema?
Respuesta1
TCP funciona sobre IP e IP no tiene noción de host (nombres), sino solo de direcciones IP.
Como tal, TCP también conoce sólo las direcciones IP, no los nombres de host.
Si desea tener algo que maneje nombres de host, necesita un protocolo además de TCP (por ejemplo, HTTP, SSH, etc.) o traducir nombres a direcciones IP antes de usar TCP, como suele proporcionar el DNS.
O necesita su proxy "TCP" para escuchar en puertos separados y elementos proxy según el puerto al que se accede. Sin embargo, todavía tienes el problema de asignar nombres no solo a una dirección IP (del proxy) sino también a su puerto, lo cual es posible pero más difícil con DNS (si controlas el cliente, puedes hacerlo usando SRV
registros o en el los futuros SVCB
).