Ich habe die Dateien für ein Mini-linux
erhalten , das direkt in firefox
bootet . Es funktioniert für alles, was es tun sollte, nur dass ich keine Internetverbindung bekomme.
Wir haben 3 DNS-Server im Netzwerk, die alle funktionieren. Ich kann sie auch anpingen. Aber beim Versuch, ping google.de
oder wget google.de
Ich erhalte eine bad address
Fehler.
nslookup google.de
funktioniert aus irgendeinem Grund.
Ich habe das Problem in meiner resolv.conf
aufgespürt auf dem gebooteten System nicht den gleichen Inhalt wie die resolv.conf
hat die ich in die .iso
eingefügt habe Datei.
Ich habe versucht, alle Faktoren zu verstehen, die in die Erstellung und Änderung von resolv.conf
einfließen . Ich bin mir nicht ganz sicher, ob ich alles verstanden habe, aber ich habe meine Lösung dort definitiv nicht gefunden.
Also habe ich als letzten Versuch versucht, die resolv.conf
zu erstellen Datei unveränderlich mit
:~# chattr +i /etc/resolv.conf
Beim Neuaufbau und erneuten Booten wurde meine Datei zu meiner Überraschung in resolv.conf~
umbenannt und an ihrer Stelle war dieselbe Standarddatei, die mich verfolgt hat.
Der Dateiinhalt lässt mich glauben, dass die Informationen vom Netzwerk selbst stammen. Beim Starten der .iso
in Virtualbox ohne Internetzugang bleibt meine Datei unverändert.
Ich habe versucht, /etc/dhcp/dhclient.conf
zu ändern um die Informationen nicht aus dem Netz zu bekommen, indem Sie domain-name-server
löschen und domain-name-search
aus der request
Teil der Datei.
Hat leider nicht funktioniert.
Ich habe den NetworkManager nicht installiert. Die ISO basiert auf Ubuntu 14.04.
Wahrscheinlich fehlen wichtige Informationen. Ich stelle es gerne zur Verfügung.
UPDATE:
Ich glaube, ich habe die Datei gefunden, die resolv.conf
löscht .
Es scheint /usr/share/udhcpc/default.script
zu sein
#!/bin/sh
# udhcpc script edited by Tim Riker <[email protected]>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ - n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/bin/ifconfig $interface 0.0.0.0
for i in /etc/ipdown.d/*; do
[ -e $i ] && . $i $interface
done
;;
renew|bound)
/bin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
metric=0
for i in $router ; do
route add default gw $i dev $interface metric $((metric++))
done
fi
echo -n > $RESOLV_CONF # Start ----------------
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
for i in /etc/ipup.d/*; do
[ -e $i ] && . $i $interface $ip $dns
done # End ------------------
;;
esac
exit 0
Es ist Teil des udhcpc
Programm. Ein winziger DHCP-Client, der Teil von busybox
ist
Werde weiter nachforschen.
UPDATE2 UND LÖSUNG:
Ich habe den Teil auskommentiert (#Start bis #End), der scheinbar die /etc/resolv.conf
überschreibt Datei und sicher genug. Das war der Übeltäter. Also hat ein obskures Skript all diese Probleme verursacht.
Ich habe die Frage geändert, um zu reflektieren, was eigentlich bekannt sein muss, um mein Problem zu lösen, damit es für Leute mit demselben Problem einfacher zu finden ist und ich eine Antwort akzeptieren kann.
Danke für die Hilfe hier bei der Lösung.
Akzeptierte Antwort:
-
Sie sollten Ihre
resolv.conf
nicht manuell aktualisieren , da alle Änderungen durch Daten überschrieben werden, die Ihr lokaler DHCP-Server bereitstellt. Wenn Sie möchten, dass es statisch ist, führen Siesudo dpkg-reconfigure resolvconf
aus und antworten Sie mit „Nein“ auf dynamische Updates. Wenn Sie dort neue Einträge hinzufügen möchten, bearbeiten Sie/etc/resolvconf/resolv.conf.d/base
und führen Siesudo resolvconf -u
aus , werden Ihre Einträge und die Einträge des DHCP-Servers angehängt. -
Versuchen Sie, Ihre
/etc/network/interfaces
zu bearbeiten und fügen Sie dort Ihre Einträge hinzu, wieauto eth0 iface eth0 inet dhcp dns-search google.com dns-nameservers dnsserverip
und starten Sie dann /etc/init.d/networking restart
neu oder sudo ifdown -a
und sudo ifup -a
- Ihr System verwendet udhcp, ein sehr kleines DHCP-Client-Programm. Der udhcp-Client handelt eine Lease mit dem DHCP-Server aus und benachrichtigt
eine Reihe von Skripten, wenn eine Lease erhalten oder verloren wird. Sie können hier nachlesen, wie es verwendet wird, oder dieses Skript einfach bearbeiten (wie Sie es getan haben).