Kali Linux in VMWare mit NAT: DNS löst Namen nicht auf

1

Ich habe ein Kali Linux in VMWare Workstation installiert. Die virtuellen Maschinen sind für die Verwendung von NAT konfiguriert. Der Hostserver ist Windows 8.1.

DNS in Kali funktioniert nicht:

$ ping -c1 www.google.es
ping: unknown host www.google.es

Vernetzung funktioniert:

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=128 time=32.0 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=128 time=25.0 ms

Bei den konfigurierten DNSs handelt es sich um die von Google:

$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.8.9

Irgendeine Idee?

kinunt
quelle
2
Was sagt sudo dhclient -v wlan0(ersetze wlan0 für dein Interface)? Und dig google.com?
Am

Antworten:

1

Es gibt zwei mögliche Fehlerquellen:

  • Funktioniert die TCP / UDP-Verbindung zum DNS-Server?
  • Ist die C-Bibliothek in erster Linie für die Verwendung von DNS konfiguriert? Wenn ja, mit welcher Resolver-Bibliothek?

Der erste Punkt kann mit einem der zuvor vorgeschlagenen Befehle getestet werden:

host www.google.es 8.8.8.8
nslookup www.google.es 8.8.8.8
dig +short www.google.es @8.8.8.8

Da der DNS-Server erfolgreich gepingt werden kann, wissen wir, dass IP-Routing funktioniert und ICMP-Datenverkehr zulässig ist. Der DNS-Datenverkehr, dh TCP- und UDP-Datenverkehr zu Port 53, wird jedoch nicht angegeben. Eine Firewall kann diesen blockieren, ohne ICMP zu blockieren, oder umgekehrt umgekehrt.

Führen Sie für den zweiten möglichen Fehlerpunkt Folgendes aus:

grep hosts /etc/nsswitch.conf

Wenn die Antwort Schlüsselwörter nicht enthält dns, resolvenoch lwres, dann in dieser VM der Auflösung von Hostnamen konfiguriert wurde , um nicht DNS zu verwenden überhaupt - die Stichworte , zeigen an, welche Methoden werden tatsächlich verwendet werden.

  • dns ist der klassische DNS-Resolver, der über konfiguriert wird /etc/resolv.conf
  • lwresist libnss-lwres: Wenn Sie diese finden, auch überprüfen, ob ein lwresdProzess ausgeführt wird und es wurde nicht konfiguriert , um eine benutzerdefinierte Konfigurationsdatei anstelle der Standard zu verwenden/etc/resolv.conf
  • resolveGibt Folgendes an libnss-resolve: Wenn Sie dies feststellen, überprüfen Sie, ob der systemd-resolvedProzess ausgeführt wird, und verwenden Sie den systemd-resolve --statusBefehl, um die aktuelle DNS-Konfiguration anzuzeigen. In diesem Fall muss der Klassiker /etc/resolv.confnicht unbedingt verwendet werden, außer um Anwendungen zu leiten, die ihre eigenen DNS-Auflösungsbibliotheken verwenden, um ihre Abfragen an zu senden systemd-resolved.

Verwenden Sie, um zu testen, ob eine Anwendung die konfigurierte Auflösungsbibliothek für Hostnamen erfolgreich verwenden kann getent hosts www.google.es. Wenn Sie der Meinung sind, dass die Anwendung nur IPv4 verwendet oder eine Voreinstellung für IPv4 festlegt, können Sie auch mit testen getent ahostsv4 www.google.es. Ebenso können Sie zum Testen nur für IPv6 verwenden getent ahostsv6 www.google.es.

telcoM
quelle
0

Versuchen Sie, Host oder Nslookup zu verwenden, und zwingen Sie es, einen speziellen Server zu fragen

$ host www.google.es 8.8.8.8
$ nslookup www.google.es 8.8.8.8
INDIVIDUAL-IT
quelle
0

Oder graben Sie www.google.es @ 8.8.8.8 Probieren Sie auch andere Hostnamen aus.

Möglicherweise muss überprüft werden, ob der DNS-Port 53 offen ist (hauptsächlich UDP, aber auch TCP).

Poutnik
quelle