¿Solicitudes de 'reescritura' de iptables en un puerto determinado?

¿Solicitudes de 'reescritura' de iptables en un puerto determinado?

Muy bien, mi situación es básicamente esta... Tengo una caja que actúa como enrutador, con 2 interfaces eth0y eth1. eth1es mi enlace ascendente, es decir, es la interfaz a través de la cual la caja obtiene una conexión a Internet. eth0es el enlace descendente, que es la interfaz a través de la cual se conectaría otro dispositivo/un conmutador/un AP inalámbrico/lo que sea.

Quiero de alguna manera, con iptables, hacer que todas las solicitudes al puerto 53, cualquier dirección que se origine en, eth0se envíen al servidor DNS que se ejecuta en 127.0.0.1, y cuando ese servidor DNS envíe una respuesta, la máquina que envió la solicitud debería haga que parezca que la respuesta vino de la dirección a la que realmente enviaron el paquete.

Por ejemplo, digamos que hay una máquina conectada y eth0configurada para usarla 8.8.8.8como servidor DNS. El servidor DNS de la máquina de enrutamiento tiene un registro para example.comapuntar a 192.0.2.1. Alguien en la máquina conectada a eth0ejecuta dig example.com @8.8.8.8. Reciben una respuesta que PARECE provenir de 8.8.8.8, pero REALMENTE proviene del cuadro de enrutamiento, y esta respuesta dice que el registro A de example.com es 192.0.2.1.

¿Cómo puedo hacer esto?

Tenga en cuenta que esto debe funcionar para CUALQUIER dirección de servidor DNS, no solo 8.8.8.8.

Respuesta1

Se necesita un software específico para realizar esto y se considera Maligno. Romper Internet realizando un ataque de intermediario al tráfico DNS es exactamente la razón por la que se están implementando cosas como DNSSec.

Sin embargo, si tiene la intención de buscar, es posible que desee verificar los resultados de "Interceptación de DNS" y "Proxy DNS transparente". Algunas cosas que me vienen a la mente son los firewalls Barracuda dnschefy quizás una variedad de suites de filtrado web ofrezcan esta característica.

información relacionada