Hallo,
ich habe gerade Sarge aufgesetzt, bin erstaunt wie gut das geht (keine Datenverluste - da bin ich von Mandrake was ganz anderes gewohnt)...
Aber: auf meinem Mainboard sind zwei Ethernet-Ports, eth0 und eth1. Leider Gottes muß ich bei der Installation irgendwo angegeben haben, daß er über eth0 ein Netzwerk suchen soll - da aber nichtmal ein Kabel dranhängt, dauert das natürlich ewig.
An eth1 hängt das Kabel zum DSL-Modem, das wird auch korrekt und automatisch verbunden.
Aber: Wie bekomme ich diese DHCP-Versuche über eth0 beim Start weg?
Bin für jeden Tipp dankbar.
Stingray
Eth0 - DHCP blockiert ewig lange beim Booten
in der Datei /etc/network/interfaces müsste die Zeile
existieren.
Wenn du die auskommentierst versucht er sich nicht mehr über dhcp eine ip zu holen
greetz
edit: du kannst bei bedarf eth0 eine statische ip zuweisen indem du in der oben genannten Datei
folgende Zeilen einfügst
IP Adressen mußt du halt sinngemäß ändern - oder auch nicht
Code: Alles auswählen
iface eth0 inet dhcp
Wenn du die auskommentierst versucht er sich nicht mehr über dhcp eine ip zu holen
greetz
edit: du kannst bei bedarf eth0 eine statische ip zuweisen indem du in der oben genannten Datei
folgende Zeilen einfügst
Code: Alles auswählen
iface eth0 inet static
address 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.100
[Athlon 2000+] [nVidia Geforce4] [Debian Sid]
Error: cannot resolve symbol: method Signature()
Error: cannot resolve symbol: method Signature()
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Ich hatte das Problem auch mal auf meinem Laptop: in der Firma hat der eine IP-Adresse zugewiesen bekommen und bootete ganz normal und zu Hause gab es dann immer den Timeout. Ich habe dann ein kleines Script geschrieben, dass mit dem Tool "mii-tool" alle 30 Sekunden überprüft, ob ein Netzerkkabel am Laptop steckt. Wenn nicht, wird dhcp beendet, wenn der Link wieder vorhanden ist, wird DHCP im Hintergrund wieder gestartet.
Gruss, mistersixt.
Gruss, mistersixt.
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Klaro, das ff. Script starte ich aus einem Startscript in /etc/init.d/ (mir fällt aber gerade auf, dass das Script ein etwas andere Funktion hatte, als ich dachte, aber das sollte jeder recht einfach anpassen können):
Das Ganze ist für dhclient, wenn man pump laufen hat, muss man das Script halt etwas anpassen. Bei manchen billigen Netzwerkkarten kann mii-tool leider nicht den Link-Status abfragen, dann funzt natürlich das ganze Script nicht mehr (die Davicom 9102 gehen zum Beispiel nicht - bei den meisten sollten das aber funzen).
Ansonsten kann man das Netzwerkkabel einfach rausziehen (und dhclient wird gekillt), wieder reinstecken (dhclient wird wieder gestartet) und man hat immer eine Netzwerkverbindung. Bei mir klappt das Script auf ca. 5 Rechnern, die per Kabelmodem und DHCP IP-Adresse zugewiesen bekommen, seit einigen Monaten ohne Probleme.
Gruss, mistersixt
Code: Alles auswählen
#!/bin/sh
INTERFACE=eth0
INTERVAL=5
clear
echo
# Check whether mii-tool is installed on this box:
echo -n "Check whether mii-tool is installed : "
if [ ! -x /sbin/mii-tool ]; then
echo " No --> exiting here!"
exit 0
else
echo " Yes."
fi
# Check whether dhcp is configured for $INTERFACE. If not
# then stop script here:
echo -n "Check whether $INTERFACE is configured for DHCP : "
RESULT=`cat /etc/network/interfaces | grep $INTERFACE | grep -v grep | grep dhcp`
if [ -z "$RESULT" ]; then
echo " No --> exiting here!"
exit 0
else
echo " Yes."
fi
# Check whether network card supports the link status:
echo -n "Check whether mii-tool is able to check link on $INTERFACE : "
/sbin/mii-tool $INTERFACE > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo " No --> exiting here!"
exit 0
else
echo " Yes."
fi
echo
#
# Checking and remembering link status at startup of this script, where
# 0 means "no network cable plugged in" and 1 "network cable plugged in".
#
case `/sbin/mii-tool $INTERFACE` in
*'link ok'*)
echo "Network cable plugged in, assuming dhclient was successful."
FLAG=1
;;
*)
echo -n "Network not plugged in, killing dhclient process ..."
/usr/bin/killall dhclient > /dev/null 2>&1
echo "done."
FLAG=0
;;
esac
echo
while true
do
sleep $INTERVAL
case `/sbin/mii-tool $INTERFACE` in
*'link ok'*)
echo "Link on $INTERFACE is up"
if [ x$FLAG == x1 ]; then
echo "Link still up, assuming dhclient alread running -> doing nothing!"
else
echo -n "Link Status changed, firing dhclient ..."
/sbin/dhclient $INTERFACE > /dev/null 2>&1
echo "done."
FLAG=1
fi
;;
*'no link'*)
echo "Link on $INTERFACE is down"
if [ x$FLAG == x0 ]; then
echo "link still down -> doing nothing!"
else
echo -n "Link status changed, killing dhclient ..."
/usr/bin/killall dhclient > /dev/null 2>&1
echo "done."
FLAG=0
fi
;;
esac
done
Ansonsten kann man das Netzwerkkabel einfach rausziehen (und dhclient wird gekillt), wieder reinstecken (dhclient wird wieder gestartet) und man hat immer eine Netzwerkverbindung. Bei mir klappt das Script auf ca. 5 Rechnern, die per Kabelmodem und DHCP IP-Adresse zugewiesen bekommen, seit einigen Monaten ohne Probleme.
Gruss, mistersixt