Traducción de IP para proxy de dirección web IP sin entrada DNS

Traducción de IP para proxy de dirección web IP sin entrada DNS

Usamos un sistema de proxy basado en DNS, que representa ciertas direcciones según la entrada de DNS, por lo que, por ejemplo, para sitio web1.com, el DNS devuelve la IP si es el proxy, y la solicitud se envía a través de eso, pero para sitio web2.com, el DNS devuelve la dirección habitual y la solicitud se envía directamente. Eso no es un problema

Sin embargo, esto sólo funciona para llamadas basadas en nombres. También debemos poder hacer lo mismo con determinadas direcciones IP, pero ¿hay alguna forma de hacerlo?

Por ejemplo, un usuario navega a un sitio web con IP 1.2.3.4 pero SIN entrada DNS, ni A ni PTR. Entonces necesitaríamos que la llamada no vaya a la IP 1.2.3.4, sino a nuestro servidor 10.0.0.4. ¿Hay alguna manera de hacer eso? Nos damos cuenta de que esto debería configurarse en la máquina cliente, pero aún así, ¿hay alguna forma de hacerlo?

Los clientes pueden ser cualquier cosa, Windows, Mac, Linux, Android, lo que sea... probablemente no sea posible en todos, pero ¿es posible en alguno de ellos?

Respuesta1

Como especificó la red, hay una opción a nivel de red; he proporcionado una solución de red a continuación marcada con RED. Sólo unos pocos protocolos suelen utilizar proxy, pero la mayoría funciona bien con NAT (la solución de red). HTTP y HTTPS suelen ser proxy, así que esa es mi primera respuesta.

Estoy confundido por su descripción del proxy basado en DNS. Es común que DNS especifique diferentes direcciones IP para diferentes direcciones o que sitios relacionados tengan la misma dirección IP. Como especifica sitios web como nombres de host, creo que podemos asumir que desea utilizar sitios web proxy. Creo que el término que busca es "alojamiento virtual basado en nombres" o "proxy basado en nombres".

Para HTTP o HTTPS, muchos servidores pueden representar el tráfico según la dirección IP y/o el nombre especificado en el encabezado HOST. El servidor web Apache utiliza VirtualHosts para separar sitios. Otro software que puede representar el tráfico tiene una funcionalidad igual o similar. En Apache, para realizar proxy basado en IP y basado en IP para el mismo sitio, debe crear un VirtualHost para la dirección IP y agregar los nombres requeridos a ese host virtual. Luego, configuraría ese VirtualHost para que represente todo el sitio o parte de él.

REDES: Si desea redirigir una dirección IP a una dirección diferente, puede hacerlo mediante un enrutador. El mecanismo utilizado es la llamada NAT (Traducción de direcciones de red). En este caso, necesitaría DNAT (Traducción de direcciones de red de destino). Algunos enrutadores pueden realizar NAT en una dirección por puerto (servicio). En este caso, querrá que las entradas DNS relacionadas devuelvan la dirección IP que se está traduciendo.

EDITAR: Los comentarios adicionales proporcionan información adicional. Según tengo entendido, los requisitos: - El proxy solo será para usuarios de ciertas direcciones/rangos de direcciones, no todo el tráfico hacia el nombre/IP será proxy.
- Las solicitudes enviadas por proxy deben parecer originadas en el proxy, no en el host original. - La solución actual proporcionaba diferentes registros de direcciones según el origen de la solicitud. (Creo que la solución existente no funciona aquí. La solicitud DNS se origina en el servidor DNS que está usando el cliente, que puede no ser el dispositivo del cliente. Las respuestas DNS se almacenan en caché, por lo que no puede confiar en una solicitud DNS anterior a la solicitud).

La solución que creo que probablemente funcionaría es manejar esto con reglas NAT en un dispositivo frente al servidor y al proxy. Esto haría una NAT de todo el tráfico que desea enviar a su dispositivo proxy según la dirección IP de origen y pasaría el resto del tráfico directamente al servidor.

información relacionada