Ich musste kürzlich mein Kali-Linux-Laptop zwangsweise ausschalten, da der Desktop eingefroren war. Jetzt funktioniert die DNS-Auflösung nach jedem Neustart für Browser und Tools wie apt-get
und ping
nicht mehr, obwohl Tools wie dig
für die manuelle Auflösung noch funktionieren. Nach jedem Neustart behebe ich das Problem folgendermaßen:
Zuerst überprüfe ich, ob die meisten symbolischen Links wie erwartet vorhanden sind:
$ ls -altrh /etc/resolv.conf
lrwxrwxrwx 1 root root 31 Apr 17 23:40 /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
$ ls -altrh /etc/resolvconf/run
lrwxrwxrwx 1 root root 15 Apr 17 23:40 /etc/resolvconf/run -> /run/resolvconf
Anschließend überprüfe ich, ob die vorherige Konfiguration noch vorhanden ist:
$ cat /etc/resolvconf/resolv.conf.d/base
# Generated by NetworkManager
nameserver 8.8.8.8
Dann muss ich ein fehlendes Verzeichnis erstellen, auf das einer der oben genannten symbolischen Links verweisen soll:
$ sudo mkdir /run/resolvconf/
Und schließlich muss ich die fehlende resolv.conf
Datei in dem von mir erstellten Verzeichnis erstellen und die Datei mit den Nameserver-Informationen füllen, die in der zuvor geprüften Datei enthalten waren:
$ sudo touch /run/resolvconf/resolv.conf
$ sudo cp /etc/resolvconf/resolv.conf.d/base /run/resolvconf/resolv.conf
Jetzt funktioniert die DNS-Auflösung für alle Programme.
Frage:Bevor ich losgehe und ein Startskript schreibe, um diesen Workaround zu automatisieren: Weiß jemand, wie ich das nie wieder tun muss? Ich kann nicht herausfinden, warum das passiert. Danke.
Systeminformationen:
$ cat /etc/debian_version
Kali Linux Rolling
$ uname -a
Linux foobar 4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux
Antwort1
Ich habe dasselbe Problem mit meiner Kali-Installation. Ursprünglich dachte ich, es läge an der VPN-Software, die ich installiert habe, aber nach einigen Recherchen scheint es ein Problem mit Kali zu sein.
Eine einfachere Lösung für das Problem, die ich verwendet habe, ist:sudo apt-get purge resolvconf
Dann direkt danach laufensudo apt-get install resolvconf
Leider muss ich das derzeit bei jedem Booten tun, aber ich hatte die gleiche Idee wie Sie, ein Startskript zu erstellen, um die Datei resolvconf automatisch zu löschen und neu zu installieren. Die Verwendung dieser beiden Befehle wäre etwas einfacher, als das fehlende Verzeichnis manuell neu zu erstellen, und würde möglicherweise das Schreiben eines Startskripts erleichtern.
Antwort2
Ich habe das manuelle Aktivieren und Starten von resolvconf mit gelöst
sudo systemctl enable resolvconf
sudo systemctl start resolvconf
Jetzt funktioniert die Namensauflösung nach dem Booten. Vielleicht deaktiviert Kali resolvconf als Dienst ...
Antwort3
Ich habe gerade ein einfaches Bash-Skript in meinem Stammordner erstellt ...
touch netresolv.sh
vim netresolv.sh
//Ersetze den Lieblingseditor durchvim
Code:
#!/bin/bash
echo "nameserver 8.8.8.8" > /etc/resolv.conf && echo "nameserver 1.1.1.1" >> /etc/resolv.conf && service
NetworkManager restart && exit
//Speichern und Texteditor beenden
chmod +x netresolv.conf
im Moment führe ich es einfach jedes Mal nach der Anmeldung manuell aus, da ich untersuche, wie und wo ich das Skript hinzufügen kann, damit es nach jedem Neustart bei der Anmeldung automatisch ausgeführt wird ...
Kann mir jemand sagen, wie ich dieses Skript weiter verwenden soll? Ich möchte nicht, dass es vor der Anmeldung ausgeführt wird, da dies eine Verbindung zum Internet herstellen würde, bevor Root angemeldet ist, und es dadurch angreifbar wäre, oder? Füge ich es als cron
Job hinzu? Oder als systemd
Dienst? Oder hinzufügen zu ~/.profile
?