Arch Linux – Probleme lösen

Arch Linux – Probleme lösen

Ich habe einen Raspberry Pi, auf dem Arch läuft, und stelle fest, dass die Auflösung seltsam ist. Kurz gesagt, digich nslookupkann Hostnamen auflösen, curlaber wgetnicht pacman. Wenn ich einen Host hinzufüge, /etc/hostsfunktioniert für diesen Host alles einwandfrei.

Hier ist die Ausgabe einiger Fehlerbehebungen:

  1. resolv.confexistiert und ist lesbar:

    $ ls -l /etc/resolv.conf
    -rw-r--r-- 1 root root 19 Apr 28 10:45 /etc/resolv.conf
    
  2. Ich habe einen Nameserver:

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

    $ 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. digWerke:

    $ 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. Ich kann pingeine der IPs:

    $ 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. wgetschlägt fehl:

    $ 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. curlschlägt fehl:

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

Was vermisse ich?!...

Bearbeiten:

$ 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

Es scheint, dass es etwas mit zu tun hat systemd-resolvd. Wenn ich es stoppe oder resolve [!UNAVAIL=return]aus entferne /etc/nsswitch.conf, funktioniert die Auflösung für jede App einwandfrei. Wenn ich es erneut starte oder /etc/nsswitch.confso lasse, funktioniert die Auflösung nur für nslookup& dig.

Antwort1

Ich habe nach Archlinuxarm-Updates ein ähnliches Problem: Einige Sites funktionieren, aber die meisten sind nicht verfügbar und Pacman kann nicht aktualisiert werden. In meinem Fall liegt das Problem an DNSsec auf dem System-Resolver. Es kann erkannt werden, indem man von der Konsole aus Folgendes ausführt:

resolvectl query archlinuxarm.org (oder eine andere nicht verfügbare Site)

die Antwort war: ... DNSSEC-Validierung fehlgeschlagen: ungültig

In meinem Fall hat das Hinzufügen von DNSSEC=false zu /etc/systemd/resolved.conf und ein Neustart geholfen

verwandte Informationen