dnsmasq forwarding

1

Estou tentando entender como funciona o encaminhamento do dnsmasq. O que eu li no manual é isto:

"[...]Dnsmasq accepts DNS queries and either answers them from a small, local, cache or forwards them to a real, recursive, DNS server.[...]"

Então, até onde eu entendo, se eu fizer uma solicitação de DNS, minha máquina perguntará ao dnsmasq o endereço IP de um determinado domínio. Se o dnsmasq não puder responder, o dnsmasq encaminhará este pedido "para um servidor DNS real e recursivo".

Como funciona esse encaminhamento? Tentei responder a esta pergunta sozinho, mas isso não respondeu à minha pergunta.

Quando eu olho para ele via wireshark eu vejo esse tipo de padrão:

127.0.0.1   ->  127.0.1.1   (standard query)
192.168.1.2 ->  192.168.1.1 (standard query)
192.168.1.1 ->  192.168.1.2 (standard query response)
127.0.1.1   ->  127.0.0.1   (standard query response)

Alguém pode explicar o que está acontecendo lá?

Editar:

O que eu estou perguntando é como o dnsmasq sabe qual é a resposta de 192.168.1.1. Na verdade, 192.168.1.1 informa apenas 192.168.1.2 o endereço IP. Como o 127.0.1.1 conhece o endereço IP? Como as informações são transferidas?

Espero algo assim:

192.168.1.1 -> 127.0.1.1 OR
192.168.1.2 -> 127.0.1.1

Eu esperaria que houvesse algum roteamento acontecendo para transferir a informação, mas não é.

    
por user3542317 03.11.2016 / 15:47

1 resposta

0

O Wireshark funciona em algum lugar entre rede e transporte no modelo TCP / IP. Então você não está vendo quais dados estão sendo trocados em um nível de aplicativo, então é por isso que sua saída wireshark não faz muito sentido quando você está tentando assistir DNS. Você está simplesmente vendo o fluxo e a direção dos pacotes depois que o aplicativo determinou o que deve ocorrer. Você teria que assistir dnsmasq para a informação que você está procurando. Se você adicionar -q ao seu script que inicia o dnsmasq, ele enviará o log para syslog .

Aqui está um exemplo de saída que consegui encontrar.

Jan 17 23:33:15 server001 dnsmasq[10708]: query[A] sgi.com from 192.168.0.20
Jan 17 23:33:15 server001 dnsmasq[10708]: forwarded sgi.com to 127.0.0.2
Jan 17 23:33:15 server001 dnsmasq[10708]: query[AAAA] sgi.com from 192.168.0.20
Jan 17 23:33:15 server001 dnsmasq[10708]: forwarded sgi.com to 127.0.0.2
Jan 17 23:33:15 server001 dnsmasq[10708]: dnssec-query[DS] sgi.com to 127.0.0.2
Jan 17 23:33:15 server001 dnsmasq[10708]: dnssec-query[DS] sgi.com to 127.0.0.2
Jan 17 23:33:15 server001 dnsmasq[10708]: validation result is INSECURE
Jan 17 23:33:15 server001 dnsmasq[10708]: reply sgi.com is 192.48.138.174
Jan 17 23:33:15 server001 dnsmasq[10708]: validation result is INSECURE
Jan 17 23:33:15 server001 dnsmasq[10708]: reply sgi.com is NODATA-IPv6
    
por bc2946088 03.11.2016 / 16:44