wechselndes Interface?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Wikinator
Beiträge: 259
Registriert: 11.06.2005 13:39:20
Wohnort: Freiburg
Kontaktdaten:

wechselndes Interface?

Beitrag von Wikinator » 06.03.2006 15:20:50

Hallo,

ich habe hier DSL-Router mit dem ein Debian Sid-Rechner direkt per Ethernet (zusätzlich noch per WLAN) verbunden ist. Ethernet liegt auf eth2 und WLAN (Prism) auf eth0. Ich denke mal, das hängt mit der Treiberreinfolge beim Booten ab.
Nun war nach einem Neustart (ohne umstecken) der Ethernet-Port auf eth1, anstatt eth2.
Ok, gab für mich eh mehr sinn. Ich habe dann /etc/network/interfaces umkonfiguriert.

Nun nach einigen Neustarts ist Ethernet wieder auf eth2. Eigentlich ist mir egal, auf welchem Interface Ethernet liegt, aber es sollte konstant bleiben.
Debian/unstable
copy

Computer sind die logische Weiterentwicklung des Menschen — Intelligenz ohne Moral.

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Beitrag von Six » 06.03.2006 16:38:47

Die Schnittstellen werden in der Reihenfolge vergeben, wie die Module geladen werden UND ein Anschluß vorhanden ist. Ist z.B. das WLAN tot, dann wird der LAN-NIC eth0 werden. Mein Tip wäre jetzt, daß irgendwo in deiner Nähe ein weiteres WLAN in den Empfangsbereich kommt und deine Interface-Kennungen verschiebt.

Der naheliegenste Schritt wäre demnach, die Kabelverbindung zu eth0 zu erklären und die WLANs nach hinten zu schieben. Die Reihenfolge, in der Module geladen werden, kannst du in /etc/modules bestimmen.

Benutzeravatar
Wikinator
Beiträge: 259
Registriert: 11.06.2005 13:39:20
Wohnort: Freiburg
Kontaktdaten:

Beitrag von Wikinator » 06.03.2006 19:43:55

Wie erkäre ich Ethernet zu eth0?
In /etc/modules steht nichts von einem Netzwerkkartentreiber:

Code: Alles auswählen

ide-cd
ide-detect
ide-disk
psmouse
Debian/unstable
copy

Computer sind die logische Weiterentwicklung des Menschen — Intelligenz ohne Moral.

yeti

Beitrag von yeti » 06.03.2006 20:32:48

Zu 2.4-Kernel-Zeiten hatte ich mal mehrere Nettzwergkarten und hab die reihenfolge durch aliase in modules.conf eingestellt a la ...

Code: Alles auswählen

alias eth0 ne2k
alias eth1 e100
... das wird man mit Kernel-2.6 doch wohl auch können...

...und es gibt da was, um Interfaces umzubenamsen, schau mal nach ifrename... damit könntest Du zB das kabelbasierte Interface einfach auf LAN umtaufen und das andere auf WLAN... ist vielleicht sogar viel übersichtlicher als alle Interfaces immer nur eth<NR> zu nennen...

codi
Beiträge: 120
Registriert: 18.10.2004 20:20:22

Beitrag von codi » 07.03.2006 10:47:24

Hallöchen!

Bei tritt seid ein paar Tagen das gleicht Problem auf... Mein PC hat 2 eth-Karten. Eine davon ist ins Board integriert, die andere PCI. Normlerweise, hängt die Onboard Karte am Router und hatte bisher nie Probleme gemacht. Vor ein paar Tagen dann, ging plötzlich nach einen Neustart des Rechners das Netz nicht nicht mehr,.. konnte auch den Router nicht anpingen... nach einigem Rätzeln was wohl die Ursache dafür sein konnte,... habe ich mal ganz auf blöd das Netzwerkkabel in die andere eth-Karte gesteckt,.. und,.. siehe da,.. es ging wieder... ;), ohne weiteres zutun. Das passiert jetzt fast bei jedem Neustart,... fast jedes mal muss ich unter dem Schreibtisch kriechen und umstecken,.. irgendwie sehr eigenwillig,... ich glaube es lebt ;o)

Das passiert unter Debian Etch mit einem 2.6.15-1-k7 Kernel...


Hat jemand einen Tipp???


Danke und Gruß
Codi

DirkS
Beiträge: 68
Registriert: 27.08.2003 12:09:23

Beitrag von DirkS » 07.03.2006 11:12:53

moin,

ich habe auch dieses Problem.
Bisher fahre ich testing mit einem selbst gebauten 2.6.15.1 Kernel. Nach dem letzten apt-get dist-upgrade ging Nvidia nicht und ich habe mir mal zum Spass nen Dabian Kernel(2.5.15-1-686) geholt. Nun, es werden x mal mehr mogule geladen. Ob ich diese auch alle benötige, muss ich noch testen.
Fakt ist, das ich meinen Rechner hoch fahre und auf eth0 nichts mehr geht. Dafür sagt mit syslog, das sich auf eth1 was tut.
Wenn ich allerdings den Rechner mit meinem Kernel boote, dann kann ich eth0 benutzen.
Boote ich jetzt mit dem Debian Kernel, dann geht eth0 auch.

Gibt es da ein paar Ideen wie man das in den Griff bekommt?

Ach vergessen. Es gibt eine eth onboard und eine extern. Bisher war eth0 die externe und eth1 die onboard.


Gruss

Dirk

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Beitrag von Six » 07.03.2006 14:56:45

Interessant. Kann ich mal die Kernelversionen hören, ob es sich um einen Debian-Kernel handelt, ob der Kernel selber gebaut ist und aus welchen Quellen?

yeti

Beitrag von yeti » 07.03.2006 15:20:27

DirkS hat geschrieben:Gibt es da ein paar Ideen wie man das in den Griff bekommt?
Das scheint ein Weg zu sein:
man ifrename
man iftab

codi
Beiträge: 120
Registriert: 18.10.2004 20:20:22

Beitrag von codi » 07.03.2006 15:24:26

Also mein Kernel ist ein ganz normales Debian Etch Image mit

Code: Alles auswählen

apt-get install linux-image-2.6.15-1-k7
installiert,... nix selbstgebasteltes.... auf einer Athlon XP Maschine...

DirkS
Beiträge: 68
Registriert: 27.08.2003 12:09:23

Beitrag von DirkS » 07.03.2006 15:42:13

@Six:
Also den Kernel habe ich über apt geholt. Ich muss mal in meiner source list schauen von was für nem Server er den zieht.
Der Kernel ist 2.6.15-1-686.
Der Kernel ist "naturbelassen"

Denke, da ja viel mehr Module geladen werden, verschiebt sich hier was. eth12xx (oder so) wird bei meinem Kernel nicht geladen. Warum aberes geht wenn ich zuvor mit meinem Kernel gebootet habe???

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Beitrag von Six » 08.03.2006 11:18:07

DirkS hat geschrieben:@Six:
Also den Kernel habe ich über apt geholt. Ich muss mal in meiner source list schauen von was für nem Server er den zieht.
Der Kernel ist 2.6.15-1-686.
Der Kernel ist "naturbelassen"

Denke, da ja viel mehr Module geladen werden, verschiebt sich hier was. eth12xx (oder so) wird bei meinem Kernel nicht geladen. Warum aberes geht wenn ich zuvor mit meinem Kernel gebootet habe???
Warum das bei dir so ist, ist schnell erklärt. Der Debian-Kernel kommt mit allen Modulen kompiliert daher. Wenn das Autoprobing beim Start nun eine gewiße Hardware findet, wird das Modul geladen -- das kann man sich wie bei MS Windows vorstellen: alles, was verbaut ist, wird mit einem Treiber beglückt. Dein eigener Kernel hat dieses Modul wahrscheinlich nicht und kann es daher auch nicht laden.

DirkS
Beiträge: 68
Registriert: 27.08.2003 12:09:23

Beitrag von DirkS » 08.03.2006 11:28:07

sorry verstehe ich nicht.

Wenn ich mit dem Debian Kernel boot, dann kann ich nicht ins Internet bzw nicht von außen (putty) auf den Rechner zugreifen. Zugriff über Router der an eth0 hängt.

Starte ich aber mit dem alten Kernel, gehe online und reboote mit dem neuen Kernel, dann komme ich auch mit diesen wieder über eth0 raus.
Das Netzwerk ist aus irgent einem Grund nicht aktiv. Wenn ich aber wie oben beschrieben vorgehe, dann geht es.

Benutzeravatar
britneyfreek
Beiträge: 85
Registriert: 19.12.2005 05:11:20
Wohnort: Dresden

Beitrag von britneyfreek » 14.03.2006 02:04:48

Six hat geschrieben:Die Schnittstellen werden in der Reihenfolge vergeben, wie die Module geladen werden UND ein Anschluß vorhanden ist. Ist z.B. das WLAN tot, dann wird der LAN-NIC eth0 werden. Mein Tip wäre jetzt, daß irgendwo in deiner Nähe ein weiteres WLAN in den Empfangsbereich kommt und deine Interface-Kennungen verschiebt.

Der naheliegenste Schritt wäre demnach, die Kabelverbindung zu eth0 zu erklären und die WLANs nach hinten zu schieben. Die Reihenfolge, in der Module geladen werden, kannst du in /etc/modules bestimmen.
stimmt nicht ganz.

erstmal: habe auch das problem :(

der kernel (bei mir 2.6.15.2, selbstgebacken) lädt meine netzwerkkarten alle selbst und meckert, wenn ich sie in /etc/modules selbst eintrage.
jedoch vertauscht er die zuordnungen (karte 1 => eth0) usw. bei jedem start - unabhängig davon, ob ein kabel angeschlossen ist, oder nicht. das ist beim modul-laden irrelevant.

normalerweise bekommen die karten bezeichnungen in der reihenfolge, in der sie im system stecken...

hab zum thema mal nen link:
http://linuxwiki.org/NetzwerkKonfigurat ... 1d2ed01df8

Benutzeravatar
H4kk3r
Beiträge: 724
Registriert: 02.01.2006 16:50:51
Wohnort: in der Nähe von Heidelberg

Beitrag von H4kk3r » 14.03.2006 02:20:45

Ich habe das bei mir so gelöst: Die Netzwerkkarte (Intel e100) fest im Kernel, ipw2200 als Modul. Dann passt die Reihenfolge immer. :idea:
Gruß, Marcus

„Well done! We did it!“

Debian testing
kernel 2.6.18.3
IBM R50e UR0S5GE

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Beitrag von Six » 14.03.2006 09:30:22

britneyfreek hat geschrieben:
Six hat geschrieben:Die Schnittstellen werden in der Reihenfolge vergeben, wie die Module geladen werden UND ein Anschluß vorhanden ist. Ist z.B. das WLAN tot, dann wird der LAN-NIC eth0 werden. Mein Tip wäre jetzt, daß irgendwo in deiner Nähe ein weiteres WLAN in den Empfangsbereich kommt und deine Interface-Kennungen verschiebt.

Der naheliegenste Schritt wäre demnach, die Kabelverbindung zu eth0 zu erklären und die WLANs nach hinten zu schieben. Die Reihenfolge, in der Module geladen werden, kannst du in /etc/modules bestimmen.
hab zum thema mal nen link:
http://linuxwiki.org/NetzwerkKonfigurat ... 1d2ed01df8
Sehr interessant. Danke für den Link!

Benutzeravatar
britneyfreek
Beiträge: 85
Registriert: 19.12.2005 05:11:20
Wohnort: Dresden

Beitrag von britneyfreek » 06.04.2006 02:02:19

ach leute, mein link oben ist auch nicht die lösung...

wenn ich mit meinem apt-kernel 2.6.8 boote, bleibt die reihenfolge der karten und die zuordnung konstant.
wenn ich das mit meinem 2.6.15.2er oder mit 2.6.16.1er mache, kommt das beim boot unwillkürlich durcheinander.

wobei: diese selbstgebauten, neuen kernel basieren auf der config von meinem apt-kernel. ich habe nur den framebuffer-support und einiges beim qos hinzugefügt.

ES MUSS DOCH EINE LÖSUNG GEBEN, dass die zuordnung der bezeichnungen der nic's konstant bleiben.

HILFEEE!

***edit***

so freunde, ich hab mich mal ein bissle schlauer gemacht.
offensichtlich ist das ein problem von udev, welches unwillkürlich handelt.
ich persönlich habe das problem auch seit dem 2.6.15.1er kernel und udev, welches ich seit diesem kernel verwende.

eine interessante lösung, welche ich später selbst probieren werde, findet ihr hier


wenigstens ein erfolgserlebnis heute...

Neo_0815
Beiträge: 553
Registriert: 07.01.2005 15:29:22

Beitrag von Neo_0815 » 06.04.2006 07:32:37

Das was in dem Link steht hätte man auch im UDEV-Primer gefunden, der Doku zu udev, selbst die manpage hätte dir das verraten.

Gruß

focus_fahrer
Beiträge: 5
Registriert: 07.02.2006 12:38:52

Beitrag von focus_fahrer » 06.04.2006 11:18:31

Hallo,

ich hatte wohl nicht das Problem, dass die Reihenfolge sich schon mal geändert hätte, da ich aber von der Möglichkeit gelesen habe, bin ich dem Problem auch nachgegangen. Leider habe ich viele nicht sonderlich gute Lösungen gefunden, es hat bei mir dann auf jedenfall nicht funktioniert.

Habe ifrename ausprobiert, aber sobald das entsprechende Device schon existierte, wollte ifrename auch nicht so richtig. Außerdem wusste ich nicht so richtig, zu welchem Zeitpunkt ifrename gestartet werden sollte.

Was bei mir jetzt aber funktioniert hat, ist ein kleines Init-skript welches ich unter
http://lists.debian.org/debian-user-ger ... 00666.html
gefunden habe.

Ich habe dieses wohl nur unter der Sparc-Version von Debian Sarge ausgetestet und ich habe zur Sicherheit neue Bezeichnungen bzw. Namen für die Interfaces vergeben, aber ansonsten macht es genau was es soll.

Die Namen der Interfaces dürfen dabei nicht zu lang sein. Ich bin mir nicht mehr sicher, aber ich meine ab 6 Ziffern werden die Namen einfach abgeschnitten. (Achtung bei Subinterfaces, hier werden der Doppelpunkt und die Zahlen mitgezählt.)

Hier nochmals, wie ich vorgegangen bin:

1.) Folgendes Init-Skript unter /etc/init.d/nameif erstellen:

Code: Alles auswählen


#!/bin/sh
#
# name network interfaces based on MAC addresses
#
# chmod 755 /etc/init.d/nameif
# install with "update-rc.d nameif start 39 S ."

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

if ! [ -x /sbin/nameif -a -r /etc/mactab ]; then
    exit 0
fi

case "$1" in
	start)
		echo -n "Naming network interfaces..."
		nameif -s
		echo "done."
		;;
	stop)
		;;
	force-reload|restart)
		;;
	*)
		echo "Usage: /etc/init.d/nameif {start|stop|restart|force-reload}"
		exit 1
		;;
esac

exit 0
2.) Berechtigungen richtig setzen:

Code: Alles auswählen

chmod 755 /etc/init.d/nameif
3.) Die Datei /etc/mactab erstellen (es dürfen leider keine Kommentare drin sein):

z.B:

Code: Alles auswählen

net00  00:AB:CD:EF:GA:11
net01  00:AB:CD:EF:GA:12
4.) Init-Skript beim Systemstart ausführen lassen (Symlinks setzen):

Code: Alles auswählen

update-rc.d nameif start 39 S .
Ich hoffe es hilft bei der Problemlösung.

Gruß focus_fahrer

artemis
Beiträge: 447
Registriert: 21.12.2005 23:11:11

Beitrag von artemis » 06.04.2006 12:11:43

Na, also einer Netzwerkkarte anhand der MAC (oder sonst einer eindeutigen Bezeichnung) ist doch mit udev super leicht hinzukriegen.
Ich hatte auch das Problem, dass mal meine WLan Karte, mal meine Lan Karte eth0 war. Gelöst hab ich das mit einer eigenen Udev Regel. Siehe hier:

http://www.debianforum.de/forum/viewtop ... c&start=15

artemis

Benutzeravatar
Master Mayhem
Beiträge: 582
Registriert: 04.04.2004 00:04:46
Lizenz eigener Beiträge: neue BSD Lizenz

Beitrag von Master Mayhem » 06.04.2006 12:35:41

Hallo!

Ne Lösung hab ich nicht, haben aber anscheinend schon andere gefunden, auch wo das Problem liegt.
Die Fehlersuche hätte man aber extrem abkürzen können ;-)

http://www.debian.org/devel/debian-installer/errata
Netz- und Plattengeräte können sich beim Neustart ändern
Auf Systemen mit mehreren Hardware-Platten- und Netz-Geräten kann es vorkommen, dass der der Kernel/Udev aufgrund verschiedener Lade-Reihenfolge der Treiber einen anderen Geräteknoten als den bei der Installation verwendeten beim System-Neustart zuweist.
Dies kann zum Misslingen des Bootens des Systems führen oder dazu, dass das Netz nicht automatisch hoch kommt. In den meisten Fällen kann dies durch Änderung der Boot-Lader-Konfiguration und /etc/fstab oder /etc/network/interfaces korrigiert werden, möglicherweise unter Verwendung des Rettungs-Moduses des Installers.
Beachten Sie, dass das Problem bei folgenden Neustarts erneut auftreten kann. Die Korrektur dieses Problems hat für die nächste Veröffentlichung des Debian-Installers Priorität.
Dasselbe Problem tritt auf, wenn man mit dem sarge installer installiert und dann sofort das upgrade auf etch macht.

mfg tyler

Benutzeravatar
britneyfreek
Beiträge: 85
Registriert: 19.12.2005 05:11:20
Wohnort: Dresden

Beitrag von britneyfreek » 06.04.2006 14:45:08

Neo_0815 hat geschrieben:Das was in dem Link steht hätte man auch im UDEV-Primer gefunden, der Doku zu udev, selbst die manpage hätte dir das verraten.

Gruß
gut, aber ich bin vor diesem link nicht im geringsten auf die idee gekommen, dass es an udev liegen könnte - von daher...

Kelpin
Beiträge: 533
Registriert: 27.07.2004 10:13:23
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Otterbach/Pfalz

Beitrag von Kelpin » 06.04.2006 15:18:49

Hi,
ich hab zwar nur zwei Karten aber seit ich die Option hwaddress in /etc/network/interfaces benutze, hat sich nix mehr getauscht. Auch nicht mit 2.6.16.
Ist das Glück?
---------------------------------------------------
Nothing is foolproof to a sufficiently talented fool

Antworten