+ Responder ao Tópico



  1. #1

    Question dns não resolve pra fora

    olá galera...

    to tomando a maior surra de um servidor dns cache que estou tentando criar no fedora

    o problema é q ele esta resolvendo normal, porém não consigo fazer os clientes resolver nomes atraves dele:

    testei com o dig e tive o seguinte resultado:
    [root@dns-srv ~]# dig google.com.br
    ; <<>> DiG 9.5.0b2 <<>> google.com.br
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39461
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 3
    ;; QUESTION SECTION:
    ;google.com.br. IN A
    ;; ANSWER SECTION:
    google.com.br. 1800 IN A 72.14.207.104
    google.com.br. 1800 IN A 64.233.187.104
    google.com.br. 1800 IN A 64.233.161.104
    ;; AUTHORITY SECTION:
    google.com.br. 345600 IN NS ns3.google.com.
    google.com.br. 345600 IN NS ns1.google.com.
    google.com.br. 345600 IN NS ns4.google.com.
    google.com.br. 345600 IN NS ns2.google.com.
    ;; ADDITIONAL SECTION:
    ns2.google.com. 172800 IN A 216.239.34.10
    ns1.google.com. 172800 IN A 216.239.32.10
    ns3.google.com. 172800 IN A 216.239.36.10
    ;; Query time: 262 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Sun Oct 19 18:08:35 2008
    ;; MSG SIZE rcvd: 209
    [root@dns-srv ~]# dig google.com.br
    ; <<>> DiG 9.5.0b2 <<>> google.com.br
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14248
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 3
    ;; QUESTION SECTION:
    ;google.com.br. IN A
    ;; ANSWER SECTION:
    google.com.br. 1798 IN A 64.233.161.104
    google.com.br. 1798 IN A 72.14.207.104
    google.com.br. 1798 IN A 64.233.187.104
    ;; AUTHORITY SECTION:
    google.com.br. 345598 IN NS ns1.google.com.
    google.com.br. 345598 IN NS ns4.google.com.
    google.com.br. 345598 IN NS ns3.google.com.
    google.com.br. 345598 IN NS ns2.google.com.
    ;; ADDITIONAL SECTION:
    ns2.google.com. 172798 IN A 216.239.34.10
    ns1.google.com. 172798 IN A 216.239.32.10
    ns3.google.com. 172798 IN A 216.239.36.10
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Sun Oct 19 18:08:37 2008
    ;; MSG SIZE rcvd: 209
    bom... pelo que fiquei sabendo... quando ele resolve pela primeira vez, ele "decora" o caminho e na segunda ele ja resolve quase que automaticamente.

    o problema é que quando coloco o ip (wan) do srv nos clientes, (que estão em outra rede) tenho o seguinte log no /var/log/messages ao tentar acessar o www.terra.com.br por exemplo:
    Oct 19 16:42:22 dns-srv named[32054]: client 200.181.124.18#1030: query (cache) 'www.terra.com.br/A/IN' denied
    Oct 19 16:42:22 dns-srv named[32054]: client 200.181.124.18#1030: query (cache) 'www.terra.com.br.cpe2.viacabo.com/A/IN' denied
    bom... neste caso, achei que o problema era o firewal... mas parei ele e o problema continuou...

    meus arquivos de config estão da seguinte forma:

    resolv.conf:
    nameserver 127.0.0.1
    nameserver 201.10.128.3
    nameserver 201.10.1.2
    nameserver 200.255.255.65
    nameserver 200.255.255.70
    named.conf:
    options
    {directory
    "/etc/named/conf";
    pid-file
    "/var/run/named/named.pid";
    statistics-file "/var/run/named/named.stats";
    dump-file
    "/var/run/named/named.db"; # hide our "real" version number
    version
    "[secured]";
    };
    # The root nameservers
    zone "." {
    type hint;
    file "db.rootcache";
    };
    # localhost - forward zone
    zone "localhost" {
    type master;
    file "db.localhost";
    notify no;
    };
    # localhost - inverse zone
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "db.127.0.0";
    notify no;
    };
    db.127.0.0:
    $TTL 86400
    @ IN SOA localhost. root.localhost. (
    1 ; Serial
    28800 ; Refresh
    14400 ; Retry
    3600000 ; Expire
    86400 ) ; Minimum
    IN NS localhost.
    1 IN PTR localhost.
    db.localhost:
    $TTL 86400
    @ IN SOA @ root (
    42 ; serial (d. adams)
    3H ; refresh
    15M ; retry
    1W ; expiry
    1D ) ; minimum
    IN NS @
    IN A 127.0.0.1
    não faço idéia do que estou fazendo de errado...
    alguem ai pode me orientar? uma luz... ajudinha... qualquer... hehehe

  2. #2

    Padrão Dns

    rafakoler,

    este erro esta ocorrendo porque seu DNS nao esta permitindo consultas (query) de DNS, tente colocar essa configuracao dentro da opcao "options". Exemplo:

    allow-query { suarede; };

    Substitua "suarede" por algo como 192.168.0.0/24 ou se quiser pode colocar apenas um host: 192.168.0.2

    fonte: DNS BIND Query Statements

  3. #3

    Padrão

    Amigo,

    você não tem IPs válidos (roteável na internet) para pôr no seu DNS?

  4. #4

    Padrão

    olá fabianocese, obrigado pela dica ai...

    olha só... da forma q eu entendi, vc sugeriu colocar "allow-query { 189.42.137.133/28; };" dentro da opção options do named.conf... é isso mesmo?

    options
    allow-query { 189.42.137.133/28; };
    {directory
    "/etc/named/conf";
    pid-file
    "/var/run/named/named.pid";
    statistics-file "/var/run/named/named.stats";
    dump-file
    "/var/run/named/named.db"; # hide our "real" version number
    version
    "[secured]";
    };
    # The root nameservers
    zone "." {
    type hint;
    file "db.rootcache";
    };
    # localhost - forward zone
    zone "localhost" {
    type master;
    file "db.localhost";
    notify no;
    };
    # localhost - inverse zone
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "db.127.0.0";
    notify no;
    };
    só q não deu certo... na hora em que eu restarto o serviço ele da erro na linha 2
    /etc/named.conf:2: '{' expected near 'allow-query'
    bom... pelo q eu entendi no erro, parece ser necessário '{' junto ao 'allow-query'... é isso mesmo?

    MarceloGOIAS, tenho ip válido sim... a consulta de fora eu estou tentando atraves dele mesmo... não tenho uma rede abaixo deste servidor, somente ele ligado diretamente ao switch do router de borda...

    abs

  5. #5

    Padrão

    galera... achei o vacilo...

    o named.conf ficou assim:
    options{
    directory "/etc/named/conf";
    allow-query { 189.42.137.133/28; };
    pid-file "/var/run/named/named.pid";
    statistics-file "/var/run/named/named.stats";
    dump-file "/var/run/named/named.db"; # hide our "real" version number
    version "[secured]";
    };

    # The root nameservers
    zone "." {
    type hint;
    file "db.rootcache";
    };
    # localhost - forward zone
    zone "localhost" {
    type master;
    file "db.localhost";
    notify no;
    };
    # localhost - inverse zone
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "db.127.0.0";
    notify no;
    };
    o serviço estartou legal... porém, continuo sem resolução de nome externa... meu log no /var/log/messages continua assim:
    Oct 20 08:09:59 dns-srv named[1085]: client 200.181.124.58#62200: query (cache) 'www.terra.com.br/A/IN' denied
    Oct 20 08:10:00 dns-srv named[1085]: client 200.181.124.58#62200: query (cache) 'www.google.com.br/A/IN' denied
    Oct 20 08:10:04 dns-srv named[1085]: client 200.181.124.58#62200: query (cache) 'www.google.com.br/A/IN' denied
    Oct 20 08:10:04 dns-srv named[1085]: client 200.181.124.58#62200: query (cache) 'www.google.com.br/A/IN' denied
    estou esquecendo de alguma config no firewall? alguem já teve esse problema?

    abs

  6. #6

    Thumbs up

    amigo,

    isso não tem haver com firewall

    sua configuração no named.conf está configurado para permitir consulta da faixa 189.42.137.133/28

    configura assim

    options {
    ...
    allow-query { clientes; } ;
    ...
    };

    acl clientes {
    189.42.137.133/28;
    200.181.124.58;
    };

    para permitir consultas dos dois endereços!

  7. #7

    Padrão

    perfeito andersoneduardo... quer dizer então que se eu quiser que qualquer um resolva dns no meu srv posso colocar assim:
    options {
    ...
    allow-query { clientes; } ;
    ...
    };

    acl clientes { 0.0.0.0; };
    ou assim:
    allow-query { 0.0.0.0; } ;

  8. #8

    Padrão resolvido

    obrigado andersoneduardo..

    da forma q vc me indicou deu certo... minha named.config ficou assim:
    options{
    directory "/etc/named/conf";
    allow-query { clientes; };
    #listen-on { 127.0.0.1; 189.42.137.133; };
    pid-file "/var/run/named/named.pid";
    statistics-file "/var/run/named/named.stats";
    dump-file "/var/run/named/named.db"; # hide our "real" version number
    version "[secured]";
    };
    acl clientes { 200.181.124.0/24; };
    # The root nameservers
    zone "." {
    type hint;
    file "db.rootcache";
    };
    # localhost - forward zone
    zone "localhost" {
    type master;
    file "db.localhost";
    notify no;
    };
    # localhost - inverse zone
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "db.127.0.0";
    notify no;
    };
    vou add agora todas as classes que poderão consultar esse srv dns...

    só mais uma duvida... caso eu queira que todos, qualquer um resolva dns nesse srv... é possivel??

    abs.. e obrigado a todos ai pela força

  9. #9

    Padrão

    só remover as confs do allow-query que fica liberado para qualquer host!

    options{
    directory "/etc/named/conf";
    pid-file "/var/run/named/named.pid";
    statistics-file "/var/run/named/named.stats";
    };

  10. #10

    Padrão

    pois é fera... mas antes eu havia deixado sem nada.. e mesmo assim não resolvia de fora... bom.. . mas é até melhor assim.. pois desta forma coloco somente as classes que trabalham na minha rede....

    amigo.. notei alguns logs de erro no messages algo com 'disabling EDNS' e outros com unexpected RCODE (SERVERFAIL)'.. que erros são esses... vc sabe?

    brigadão ai pela ajuda