Eth0 - DHCP blockiert ewig lange beim Booten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Stingray
Beiträge: 11
Registriert: 13.05.2004 18:45:11

Eth0 - DHCP blockiert ewig lange beim Booten

Beitrag von Stingray » 13.05.2004 18:50:44

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

Benutzeravatar
Snofix
Beiträge: 11
Registriert: 30.04.2004 10:47:29

Beitrag von Snofix » 13.05.2004 18:56:55

in der Datei /etc/network/interfaces müsste die Zeile

Code: Alles auswählen

iface eth0 inet dhcp
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

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
IP Adressen mußt du halt sinngemäß ändern - oder auch nicht :wink:
[Athlon 2000+] [nVidia Geforce4] [Debian Sid]

Error: cannot resolve symbol: method Signature()

Stingray
Beiträge: 11
Registriert: 13.05.2004 18:45:11

Beitrag von Stingray » 13.05.2004 20:29:29

danke, das probiere ich mal

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 14.05.2004 20:48:19

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.

[Jan]
Beiträge: 11
Registriert: 24.02.2004 14:51:24

Beitrag von [Jan] » 15.05.2004 09:45:44

kannst du es hier vielleicht mal posten :?:
hab nämlich das selbe problem...

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 15.05.2004 21:22:39

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):

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
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

Antworten