[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Neue Ethernet Card und keine Verbindung



Am Samstag, den 29.01.2011, 16:03 +0000 schrieb Siegfrid Brandstätter:
> Vor dem ändern:
> 
> # route -n
> Kernel-IP-Routentabelle
> Ziel            Router          Genmask         Flags Metric Ref    Use 
> Iface
> 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 
> eth1
> 0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 
> eth1
> 
> 
> Nach dem ändern auf diese Werte:
> 
> # The primary network interface
> allow-hotplug eth0
> iface eth0 inet static
> address 192.168.1.100
> netmask 255.255.255.0
> gateway 192.168.1.1
> #auto eth1
> 
> # route -n
> Kernel-IP-Routentabelle
> Ziel            Router          Genmask         Flags Metric Ref    Use 
> Iface
> 
> und keine Verbindung. Was habe ich falsch verstanden?

So weit ich das sehe, hast du /etc/udev/rules.d/70-persistent-net.rules
UND die /etc/network/interdaces geändert!
Du solltest aber nur eines der beiden ändern.

Zum Verständnis:
Der Kernel sucht beim booten nach Hardware.
Jedes Netzwerkinterface bekommt einen Namen, angefangen bei eth0.
Da sich die Netzwerkkarten nicht immer in der gleichen Reihenfolge
melden, passiert es bei Rechnern mit mehreren Karten, daß diese immer
einen anderen Namen bekommen.

Defür gibt es udev.
udev schreibt seine eigenen Regeln.
Die Regeln für Netzwerkkarten stehen
in /etc/udev/rules.d/70-persistent-net.rules.
udev überprüft die Namen die der Kernel vergeben hat und vergleicht
diese mit seinen Regeln. Er erkennt die Interfaces anhand der
MAC-Adressen. Wenn sich die Karten beim Kernel in falscher Reihenfolge
gemeldet haben, haben diese dann falsche Namen. udev benennt sie dann
um, damit jede Karte immer den selben Namen hat.

In deinem Fall hattest du vorher schon eine Netzwerkkarte die udev als
eth0 kennt. Diese Karte ist nun kaputt und du hast eine neue eingebaut.
Der Kernel sieht beim booten nur die neue Karte (die alte steckt ja
nicht mehr drin) und benennt diese eth0.
udev kennt aber noch die alte Karte und hält den Namen eth0 für diese
frei. Also benennt er die neue Karte um, auf eth1.

Du hast in /etc/network/interfaces das Interface eth0 konfiguriert.
Diese Einstellung zeigte keine Wirkung, da es nur das Interface eth1 gab
und für dieses gibt es in /etc/network/interfaces keine Einstellung und
blieb unkonfiguriert.

Nun gibt es zwei Möglichkeiten:
1)
Du änderst die Konfiguration in /etc/network/interfaces von eth0 auf
eth1.
Dadurch hast du kein eth0 mehr und arbeitest ab jetzt mit eth1.

2)
Du änderst die udev-Regel, damit die neue Karte als eth0 bekannt ist.
Dadurch bekommst du wieder dein gewohntes eth0 und die Konfiguration
kann bleiben wie sie ist.

Soweit ich das verstehe, hast du beides geändert, die udev-Regel und die
Konfiguration.

In deinem Fall ist es einfach, da du nur eine Netzwerkkarte hast.
Ändere die Konfiguration in /etc/network/interfaces so um, daß diese
wieder eth0 verwendet.
Dann öffnest du die Datei /etc/udev/rules.d/70-persistent-net.rules und
löscht alle Regeln raus.
Soweit ich weis, kann man sogar die ganze Datei löschen.
udev nimmt dann an, es gab noch nie ein Netzwerk und legt diese Datei
neu an.
In beiden Fällen kennt udev keine Netzwerkkarte und wird die neue als
eth0 in seinen Regelsatz aufnehmen.

Ich hoffe ich konnte dir etwas verständlich erklären für was udev da
ist, wie er funktioniert und wie das alles zusammen arbeitet.

mfG Sascha


Reply to: