Problemas de DNS na instalação nova do CentOS


8

Estou tendo alguns problemas de DNS em uma nova caixa que estou instalando com o CentOS 6.2.

Eu sou capaz de procurar nomes usando nslookup, dig ou host. Sou capaz de executar ping nas máquinas por nome ou endereço IP. No entanto, quando tento outras ferramentas, como ssh, wget ou yum, elas não conseguem resolver os nomes. Por exemplo:

# wget http://www.google.com
--2012-03-08 14:48:06--  http://www.google.com/
Resolving www.google.com... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'
# ssh www.google.com
ssh: Could not resolve hostname www.google.com: Name or service not known
# ping -c 1 www.google.com
PING www.l.google.com (74.125.113.106) 56(84) bytes of data.
64 bytes from vw-in-f106.1e100.net (74.125.113.106): icmp_seq=1 ttl=46 time=43.6 ms

--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 59ms
rtt min/avg/max/mdev = 43.665/43.665/43.665/0.000 ms
# host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.113.99
www.l.google.com has address 74.125.113.103
www.l.google.com has address 74.125.113.104
www.l.google.com has address 74.125.113.105
www.l.google.com has address 74.125.113.106
www.l.google.com has address 74.125.113.147

Meu arquivo /etc/nsswitch.conf é o padrão, incluindo esta linha (padrão):

hosts:      files dns

/etc/resolv.conf é como configurado pelo DHCP:

; generated by /sbin/dhclient-script
nameserver 192.168.1.254

192.168.1.254 é um servidor DNS em funcionamento (meu modem DSL, trabalhando por anos com outras máquinas)

Alguém sabe por que o ping funcionaria, mas o ssh / wget falharia?


Por sugestão da NcA, tentei alterar o /etc/resolv.conf para apontar para 8.8.8.8. Curiosamente, isso faz funcionar. Obviamente, meu modem DSL está respondendo às solicitações de DNS de alguma forma que algumas partes do sistema de resolução do Linux não gostam. Olhando para o tcpdump, não consigo ver qual é a diferença. Certamente, os dois servidores estão enviando os mesmos endereços.

Aqui está a saída do tcpdump -nn -Xservidor definido para o servidor DNS no modem DSL. Está respondendo claramente com os endereços corretos, mas o ssh / wget não parece feliz com isso por algum motivo:

15:53:52.133580 IP 192.168.1.254.53 > 192.168.1.2.54836: 33157 7/0/0 CNAME www.l.google.com., A 74.125.115.105, A 74.125.115.106, A 74.125.115.147, A 74.125.115.99, A 74.125.115.103, A 74.125.115.104 (148)
        0x0000:  4500 00b0 e33a 0000 ff11 53b1 c0a8 01fe  E....:....S.....
        0x0010:  c0a8 0102 0035 d634 009c 7528 8185 8180  .....5.4..u(....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0007 acd0 0008 0377 7777 016c c010  .........www.l..
        0x0050:  c02c 0001 0001 0000 0001 0004 4a7d 7369  .,..........J}si
        0x0060:  c02c 0001 0001 0000 0001 0004 4a7d 736a  .,..........J}sj
        0x0070:  c02c 0001 0001 0000 0001 0004 4a7d 7393  .,..........J}s.
        0x0080:  c02c 0001 0001 0000 0001 0004 4a7d 7363  .,..........J}sc
        0x0090:  c02c 0001 0001 0000 0001 0004 4a7d 7367  .,..........J}sg
        0x00a0:  c02c 0001 0001 0000 0001 0004 4a7d 7368  .,..........J}sh
15:53:52.135669 IP 192.168.1.254.53 > 192.168.1.2.54836: 65062- 0/0/0 (32)
        0x0000:  4500 003c e33b 0000 ff11 5424 c0a8 01fe  E..<.;....T$....
        0x0010:  c0a8 0102 0035 d634 0028 98f9 fe26 8000  .....5.4.(...&..
        0x0020:  0001 0000 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001            gle.com.....

Não sou especialista o suficiente para saber se isso está malformado de alguma forma, mas o ping parece fazer a coisa certa com isso.

Para comparação, eis a mesma coisa ao consultar 8.8.8.8:

15:57:27.990270 IP 8.8.8.8.53 > 192.168.1.2.49028: 59114 7/0/0 CNAME www.l.google.com., A 74.125.113.105, A 74.125.113.103, A 74.125.113.106, A 74.125.113.147, A 74.125.113.104, A 74.125.113.99 (148)
        0x0000:  4500 00b0 5530 0000 2f11 6453 0808 0808  E...U0../.dS....
        0x0010:  c0a8 0102 0035 bf84 009c 39f8 e6ea 8180  .....5....9.....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 516a 0008 0377 7777 016c c010  ....Qj...www.l..
        0x0050:  c02c 0001 0001 0000 0116 0004 4a7d 7169  .,..........J}qi
        0x0060:  c02c 0001 0001 0000 0116 0004 4a7d 7167  .,..........J}qg
        0x0070:  c02c 0001 0001 0000 0116 0004 4a7d 716a  .,..........J}qj
        0x0080:  c02c 0001 0001 0000 0116 0004 4a7d 7193  .,..........J}q.
        0x0090:  c02c 0001 0001 0000 0116 0004 4a7d 7168  .,..........J}qh
        0x00a0:  c02c 0001 0001 0000 0116 0004 4a7d 7163  .,..........J}qc
15:57:28.018909 IP 8.8.8.8.53 > 192.168.1.2.49028: 31984 1/1/0 CNAME www.l.google.com. (102)
        0x0000:  4500 0082 7b1b 0000 2f11 3e96 0808 0808  E...{.../.>.....
        0x0010:  c0a8 0102 0035 bf84 006e c67e 7cf0 8180  .....5...n.~|...
        0x0020:  0001 0001 0001 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 517f 0008 0377 7777 016c c010  ....Q....www.l..
        0x0050:  c030 0006 0001 0000 0258 0026 036e 7334  .0.......X.&.ns4
        0x0060:  c010 0964 6e73 2d61 646d 696e c010 0016  ...dns-admin....
        0x0070:  91f3 0000 0384 0000 0384 0000 0708 0000  ................
        0x0080:  003c                                     .<

Ainda não sei por que a resposta do servidor é adequada para ping, mas não para ssh / wget.

Se alguém tiver idéias, eu ficaria feliz em ouvi-las. Por enquanto, porém, posso me referir a um servidor DNS externo ou configurar meu próprio servidor na nova caixa. É uma solução alternativa que parece desnecessária, mas me permitirá prosseguir.


Tente adicionar "nameserver 8.8.8.8" ao seu /etc/resolv.conf e publique seus resultados. Vamos reduzi-lo ao erro de cliente ou servidor.
NcA 8/03/12

Como é o seu /etc/host.conf ?
Nils

@Nils: /etc/host.conf é o padrão, contendo apenas a 'múltiplas na' linha
Rick Koshi

Você poderia postar a saída dig do servidor local e da 8.8.8.8 na íntegra? Há quanto tempo esta caixa de Centos existe? Você tem outros computadores por trás desse modem DSL? O que acontece com eles consultas de DNS WRT? Você já tentou reiniciar a caixa Centos? A menos que você acidentalmente trunque a saída acima, os dois dumps não terão a mesma aparência. Você já tentou reiniciar o modem DSL?
KLS

1
Problema interessante. E um trabalho bastante sólido solucionando problemas.
21712 jamieb

Respostas:


2

Usando isso: https://www.centos.org/modules/newbb/viewtopic.php?topic_id=39343

Encontrei um comando-chave que me ajudou a solucionar problemas:

[root@localhost ~]# wget -6 URL -Falha

[root@localhost ~]# wget -4 URL -Trabalhado

Tem algo a ver com a pilha ipv6 padrão que está causando problemas com determinados utilitários. Desative o ipv6 para resolver.


+1 para ipv6. pingé a única coisa da v4 (existe ping6para pings da v6) e é por isso que funciona. No entanto, eu não recomendaria desativá-lo - muitos ISPs modernos fazem pior na v4. Muitos fazem o NAT do lado deles. Eu suspeito que o servidor DNS do modem não suporta registros AAAA corretamente, causando essa falha incômoda. O DNS do Google ou o OpenDNS pode ser uma boa solução alternativa.
RVS

2

Eu tenho o mesmo problema, mas eu o corrigi.

Você deve adicionar DNS no arquivo de configuração da interface /etc/sysconfig/network-scripts/ifcfg-eth0,. Adicione a linha

DNS1=xxx.xxx.xxx.xxx

E então você deve reiniciar o serviço de rede.

# systemctl restart NetworkManager

não funcionou para mim :(
VaTo 14/03

1

Pare o firewall primeiro. Sempre tire isso do caminho ao solucionar problemas de rede (sempre que possível). Se você soltar o firewall e seu problema desaparecer, o problema será resolvido, se não, pelo menos está fora do caminho por enquanto.

1) iptables -L ver se existem regras de DROP que possam estar afetando pacotes de saída

2) Verifique se o selinux está rodando e fazendo algo estranho (/ etc / selinux / config)

3) qual é a saída do seguinte: route -n

4) como é o arquivo / etc / sysconfig / network-scripts / ifcfg-eth0

5) você pode executar ping no seu gateway sem problemas?

Esperamos que um deles forneça as informações necessárias para diagnosticar o problema.


1

Com base no post original, adicionei 8.8.8.8 ao /etc/resolv.confe /etc/sysconfig/network-scripts/ifcfg-eth0Nem a edição resolveu o meu problema.

Eu editei /etc/nsswitch.conf:

Original

hosts:          files  mdns4_minimal [NOTFOUND=return] dns mdns4

Editado

hosts:          files  dns mdns4_minimal [NOTFOUND=return] mdns4

Agora o DNS funciona para o yum e o wget.


0

Tente adicionar hosts de pedidos, vincule-os ao /etc/host.conf .


-1

Tente adicionar a linha "opções de solicitação única" ao seu /etc/resolv.conf. Isso instruirá a libc a fazer 2 pedidos (A e AAAA) em vez de enviá-los da mesma porta. Isso deve ajudar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.