Proxychains DNS: por qué los nombres de host reciben direcciones IP sintéticas
Explica la asignación sintética de direcciones DNS de proxychains-ng y distingue un marcador interno de la destinación real o de la dirección de salida.
Un programa bajo proxychains resuelve un nombre de host normal a un rango de direcciones desconocido. Esa dirección puede ser un valor contable dentro del envoltorio en lugar de una respuesta DNS de internet.
En su modo proxy-DNS, proxychains-ng puede recordar un nombre de host, devolver una dirección sintética a la aplicación y más tarde traducir ese valor de nuevo al nombre de host cuando la conexión interceptada se abre a través de un proxy.
El marcador no es la IP de salida
La configuración de ejemplo documenta proxy_dns y remote_dns_subnet. El rango de asignación reservado es configurable. No es una dirección que debas esperar poder hacer ping ni publicar como origen público del proxy.
Esto depende de que las llamadas de búsqueda de nombre y conexión pertinentes se intercepten dentro del proceso previsto. Un programa que realiza su propio DNS mediante otro mecanismo, guarda el marcador para un uso posterior no relacionado o evita la ruta del socket enganchado puede comportarse de forma distinta.
Esa limitación explica por qué una dirección sintética en un registro no es, por sí sola, prueba de que toda la aplicación use correctamente el DNS remoto. Del mismo modo, una utilidad DNS separada fuera del proceso envuelto no prueba la conexión asignada de la aplicación.
Distingue el marcador de la aplicación, la dirección de destino real elegida del lado del proxy y la salida pública que ve el sitio web. Cumplen funciones distintas y no tienen por qué coincidir.
Al depurar, mantén el nombre de host en tus notas e identifica el proceso envuelto exacto y la configuración. Sustituir a mano un marcador sospechoso puede descartar la asignación que el envoltorio necesitaba para recuperar ese nombre de host, convirtiendo una indirección comprensible en una conexión al destino equivocado.