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.confnicht 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 resolvconfaus 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/baseund führen Siesudo resolvconf -uaus , werden Ihre Einträge und die Einträge des DHCP-Servers angehängt. -
Versuchen Sie, Ihre
/etc/network/interfaceszu 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).