Arch Linux resolviendo problemas

Arch Linux resolviendo problemas

Tengo una Rasberry Pi ejecutando Arch y encuentro un comportamiento de resolución extraño. En pocas palabras, digy nslookuppuede resolver nombres de host, curl, wgetno pacmanpuede. Si agrego un host, /etc/hoststodo funciona bien para ese host.

Aquí está el resultado de algunas soluciones de problemas:

  1. resolv.confexiste y es legible:

    $ ls -l /etc/resolv.conf
    -rw-r--r-- 1 root root 19 Apr 28 10:45 /etc/resolv.conf
    
  2. Tengo un servidor de nombres:

    $ cat /etc/resolv.conf
    nameserver 8.8.8.8
    
  3. nslookupobras:

    $ nslookup google.com
    Server:         8.8.8.8
    Address:        8.8.8.8#53
    
    Non-authoritative answer:
    Name:   google.com
    Address: 92.87.11.30
    Name:   google.com
    Address: 92.87.11.54
    Name:   google.com
    Address: 92.87.11.49
    Name:   google.com
    Address: 92.87.11.45
    ...
    
  4. digobras:

    $ dig google.com
    
    ; <<>> DiG 9.11.0-P3 <<>> google.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20686
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;google.com.                    IN      A
    
    ;; ANSWER SECTION:
    google.com.             299     IN      A       92.87.175.49
    google.com.             299     IN      A       92.87.175.50
    google.com.             299     IN      A       92.87.175.48
    google.com.             299     IN      A       92.87.175.44
    google.com.             299     IN      A       92.87.175.42
    google.com.             299     IN      A       92.87.175.41
    google.com.             299     IN      A       92.87.175.51
    google.com.             299     IN      A       92.87.175.36
    google.com.             299     IN      A       92.87.175.39
    google.com.             299     IN      A       92.87.175.45
    google.com.             299     IN      A       92.87.175.37
    google.com.             299     IN      A       92.87.175.40
    google.com.             299     IN      A       92.87.175.38
    google.com.             299     IN      A       92.87.175.47
    google.com.             299     IN      A       92.87.175.43
    google.com.             299     IN      A       92.87.175.46
    
    ;; Query time: 40 msec
    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    ;; WHEN: Fri Apr 28 11:37:32 EEST 2017
    ;; MSG SIZE  rcvd: 295
    
  5. Puedo pinguna de las IP:

    $ ping 92.87.175.49
    PING 92.87.175.49 (92.87.175.49) 56(84) bytes of data.
    64 bytes from 92.87.175.49: icmp_seq=1 ttl=54 time=3.75 ms
    64 bytes from 92.87.175.49: icmp_seq=2 ttl=54 time=3.71 ms
    
    --- 92.87.175.49 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 3.711/3.734/3.758/0.065 ms
    
  6. wgetfalla:

    $ wget https://google.com
    --2017-04-28 11:39:31--  https://google.com/
    Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
    Resolving google.com... failed: Name or service not known.
    wget: unable to resolve host address 'google.com'
    
  7. curlfalla:

    $ curl https://google.com
    curl: (6) Could not resolve host: google.com
    

¡¿Qué me estoy perdiendo?!...

Editar:

$ cat /etc/hosts
#
# /etc/hosts: static lookup table for host names
#

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   localhost
::1             localhost.localdomain   localhost

# End of file

$ cat /etc/nsswitch.conf
# Begin /etc/nsswitch.conf

passwd: compat mymachines systemd
group: compat mymachines systemd
shadow: compat

publickey: files

hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
networks: files

protocols: files
services: files
ethers: files
rpc: files

netgroup: files

# End /etc/nsswitch.conf

Parece que tiene algo que ver systemd-resolvd. Si lo detengo o lo elimino resolve [!UNAVAIL=return], /etc/nsswitch.confla resolución funciona bien para todas las aplicaciones; si la inicio de nuevo o la dejo /etc/nsswitch.confcomo está, la resolución funciona solo para nslookup& dig.

Respuesta1

Tengo un problema similar después de las actualizaciones de archlinuxarm: algunos sitios funcionan pero la mayoría no están disponibles y pacman no puede actualizarse. En mi caso, el problema es dnssec en el solucionador del sistema. Se puede detectar ejecutando desde la consola:

resolvectl query archlinuxarm.org (o cualquier otro sitio no disponible)

la respuesta fue: ... Error en la validación de DNSSEC: no válido

En mi caso, me ayudó agregar DNSSEC=false a /etc/systemd/resolved.conf y reiniciar

información relacionada