solicitações de 'reescrita' do iptables em uma determinada porta?

solicitações de 'reescrita' do iptables em uma determinada porta?

Tudo bem, minha situação é basicamente esta... Tenho uma caixa que funciona como roteador, com 2 interfaces eth0e eth1. eth1é o meu uplink, ou seja, é a interface através da qual a caixa obtém uma conexão com a Internet. eth0é o downlink, que é a interface através da qual outro dispositivo / um switch / um AP sem fio / o que quer que seja, estaria conectado.

Eu quero de alguma forma, com o iptables, fazer com que todas as solicitações para a porta 53 de qualquer endereço originado em eth0sejam enviadas para o servidor DNS em execução em 127.0.0.1e, quando esse servidor DNS enviar uma resposta, a máquina que enviou a solicitação deve fazer com que pareça que a resposta veio do endereço para o qual eles realmente enviaram o pacote.

Por exemplo, digamos que haja uma máquina conectada eth0configurada para ser usada 8.8.8.8como servidor DNS. O servidor DNS da máquina de roteamento possui um registro para example.comapontar para 192.0.2.1. Alguém na máquina conectada a é eth0executado dig example.com @8.8.8.8. Eles recebem uma resposta que PARECE vir de 8.8.8.8, mas NA VERDADE veio da caixa de roteamento, e esta resposta diz que o registro A para example.com é 192.0.2.1.

Como posso fazer isso?

Observe que isso precisa funcionar para QUALQUER endereço de servidor DNS, não apenas 8.8.8.8.

Responder1

Você precisa de um software específico para fazer isso, e isso é considerado Maligno. Quebrar a Internet realizando um ataque man-in-the-middle no tráfego DNS é exatamente o motivo pelo qual coisas como o DNSSec estão sendo implementadas.

Se você pretende procurar, verifique os resultados de "Interceptação de DNS" e "Proxy DNS transparente". Algumas coisas que vêm à mente são os firewalls Barracuda, dnschefe talvez uma variedade de suítes de filtragem da web ofereçam esse recurso.

informação relacionada