# Vertauschen von eth0 und eth1

## benjamin200

Hi,

sitze gerade an dem Gentoo-Home-Router-Guide. Leider habe ich hier nur zwei NICs:

1x 10 MBit --> erkannt als eth0

1x 100 MBit -- erkannt als eth1

Da ich DSL Nutze hätte ich gern eth0 als 100 MBit fürs Netzwerk und eth1 10 MBit fürs DSL. 

Wie kann ich das festlegen? Ist das Möglich?

Gruß

Benjamin

mod-edit: Titel besser formuliert, war: "eth0 und eth0 festlegen, aber wie?" --slick

----------

## think4urs11

Hi,

wenn es zwei unterschiedliche Karten sind dann ist das einfach -> Ladereihenfolge der Kernelmodule.

Alternativ mittels udev Regeln basteln und die Karten gleich umbenennen auf 'dsl' und 'int' oder so.

HTH

T.

----------

## benjamin200

 *Quote:*   

> 
> 
> wenn es zwei unterschiedliche Karten sind dann ist das einfach -> Ladereihenfolge der Kernelmodule.
> 
> 

 

Servus Think4UrS11,

wenn ich das per Ladereihenfolge erledigen muss, ist dann die reihenfolge in /etc/modules.autoload/kernel-xxx relevant?

z.B.

```

modul1

modul2

```

 *Quote:*   

> 
> 
> Alternativ mittels udev Regeln basteln und die Karten gleich umbenennen auf 'dsl' und 'int' oder so. 
> 
> 

 

ist mir aktuell zu Zeitintensiv, aber sehr interessant.

Gruß

Benjamin

----------

## firefly

die udev regel ist recht simpel:

```
SUBSYSTEM="net", PROGRAM="/sbin/nameif -c /etc/mactab"
```

nameif befindet sich in net-tools

die mactab hat folgenden aufbau:

 *Quote:*   

> <neuer devname> <Macadresse der karte>
> 
> z.b.       dsl                                                           AA:BB:CC:DD::EE:00

 

dadruch wird die karte mit der MAC AA:BB:CC:DD::EE:00 als dsl bezeichnet.(taucht bei ifconfig auch nur als dsl auf).

gruß

firefly

----------

## benjamin200

 *Quote:*   

> 
> 
> die udev regel ist recht simpel:
> 
> Code:
> ...

 

Danke für den Tipp, leider hat mein kleiner Home-Server noch kein Udev drauf, 

aber sobald das passiert ist werde ich das gleich mal testen. Danke.

----------

## slick

Wenn ich fragen darf, warum willst Du die tauschen? Letzendlich ists doch nur eine Bezeichnung. Und ob nun im der pppoe.conf eth0 statt eth1 steht ist doch vollkommen egal. Kann den Sinn momentan noch nicht ganz nachvollziehen (außer evt. die "Gewohnheit" das eth0 ja immer das LAN ist)

----------

## CaptainPsycho

Äehm ich würde das ganze etwas simpler gestallten:

1. Im Kernel die Kartentreiber als Modul bauen.

2. /etc/modules-autoload/kernel-2.6

einmal 

modulname_für_erste_Karte alias eth0

modulname_für_zweite_Karte alias eth1

Fertig!

Gruss Joachim

----------

## benjamin200

 *Quote:*   

> 
> 
> Wenn ich fragen darf, warum willst Du die tauschen? Letzendlich ists doch nur eine Bezeichnung. Und ob nun im der pppoe.conf eth0 statt eth1 steht ist doch vollkommen egal. Kann den Sinn momentan noch nicht ganz nachvollziehen (außer evt. die "Gewohnheit" das eth0 ja immer das LAN ist)
> 
> 

 

Du hast Recht, die Gewohnheit ist es  :Smile: 

 *Quote:*   

> 
> 
> BeitragVerfasst am: Do Jun 16, 2005 8:11 pm    Titel:
> 
> Äehm ich würde das ganze etwas simpler gestallten:
> ...

 

Ich werde es eventuell umstellen, vielleicht vergesse ich einfach mal die Gewohnheit eth0 lokales Netz!

mod-edit: folgende 3 Posts hier angehangen --slick

----------

## franzf

Hallo,

Hab ein Prolem, welches mich momentan nervt:

Hatte bei der Einrichtung meines neuen PC's Probleme mit dem Netzwerk. Es wollte mit dem onboard-Lan des nforce4 nicht funktionieren. (Es stellte sich heraus, dass es am Kabel, nicht an meiner (gegebenen) Unfähigkeit lag.) Auf alle Fälle hab ich die Netzwerkkarte meines alten PC's eingebaut. Wie zu erwarten funktionierte es auch mit der nicht. Darum verwendete ich die Tools von Gnome zur Interneteinrichtung. Dummerweise hab ich hierbei die Devices vertauscht.

Als dann (nach langen Versuchen) der Übeltäter (Kabel) gefunden war, baute ich die alte Karte wieder aus, nahm net.eth1 aus dem Default-runlevel und löschte /etc/init.d/net.eth1. Auf einmal hatte ich wieder kein Netzwerk mehr. Nach abermals längerer Suche kam ich der Ursache auf die Schliche.

Mittlerweile hab ich das System neu übersetzt (-msse3 zu den CFLAGS hinzugefügt). Als ich jetzt versucht habe, die Vertauschung mit den Gnome-Tools wieder rückgängig zu machen, stellte ich fest, dass sie nicht mehr existieren...

Wie kann ich nun mein Problem manuell (configs editieren) lösen? Da ich eigentlich KDE verwende: gibt es hierfür auch grafische Tools?

Besten Dank schonmal

FranzLast edited by franzf on Fri Jul 08, 2005 10:00 am; edited 1 time in total

----------

## schachti

Wenn Du udev verwendest, läßt sich das doch sicher mit einer udev-Regel lösen, oder habe ich Dein Problem falsch verstanden?

----------

## franzf

 *schachti wrote:*   

> Wenn Du udev verwendest, läßt sich das doch sicher mit einer udev-Regel lösen, oder habe ich Dein Problem falsch verstanden?

 

Danke für die schnalle Reaktion.

1) Ja, ich verwende udev

2) Ich habe keinen Plan, wie ich das anstellen soll (hab mich noch nicht mit der Konfiguration von udev auseinandergesetzt)

Werde mir das jetzt mal zu Gemüte führen.  :Wink: 

Es ist jetzt so, dass ich, obwohl nur eine Netzwerkkarte vorhanden ist (die onboard), diese mit eth1 ansprechen muss.

Was mich auch stutzig macht: Beim Netzwerk(re)start bekomme ich die Meldung, PCMCIA-Treiber wären fest in den Kernel kompiliert oder es existieren keine Module.

```
[...]

Jul  8 10:02:34 tux cardmgr[10151]: no pcmcia driver in /proc/devices

[...]

Jul  8 10:02:34 tux dhcpcd[10464]: dhcpStart: interface eth0 is not Ethernet or 802.2 Token Ring

```

Ich verwende:

Genkernel (2.6.11-gentoo-r4)

PCMCIA

hotplug

coldplug

udev

Danke

Franz

----------

## slick

Thread (vorherige 3 Posts) hierher gemergt.

Eine evt. Lösung für udev siehe Post von firefly.

----------

## knox74

@franzf:

Ich habe solche Probleme bisher immer durch ein Neukompilieren des Kernels gelöst, bei dem ich dann alle unwichtigen Netzwerkkarten rausgeworfen habe.

----------

## franzf

Ich habe die Lösung von firefly ausprobiert.

Nach einem Neustart hat das Netz erstmal wieder nicht hingehauen. Ich habe dann in der Konsole

```
# /sbin/nameif -c /etc/mactab
```

manuell ausgeführt. Ich erhielt folgende Meldung:

```

cannot change name of eth1 to eth0: File exists

```

Was kann ich jetzt machen?

/etc/init.d/net.eth1 ist ja nur ein link auf /etc/init.d/net.eth0, wie eben in dem Installations-Handbuch zur Netzwerkkonfiguration beschrieben.

Um dem Namenskonflikt aus dem Weg zu gehen, kann ich ja auch einfach statt eth0 "inet" nehmen (o.ä.). Dann hab ich aber 3 Netzwerk-devices, und ich wollte es ja wieder so hinbekommen, dass ich nur eins, nämlich eth0 hab.

Hat da jemand eine Lösung? Muss doch irgendwie gehen!

Danke

Franz

----------

## firefly

was sagt ein 

```
dmesg | grep eth
```

nach dem start ??

und könntest du mal die ausgabe von lsmod hier posten ??

denn es sieht so aus als würde beim starten ein weiterer treiber geladen, der eth0 erstellt.

entweder ist das ein netzwerkkarten treiber oder eventuell euch das firewire-netzwerk-modul eth1394

gruß

firefly

----------

## franzf

 *firefly wrote:*   

> was sagt ein 
> 
> ```
> dmesg | grep eth
> ```
> ...

 

```
# dmesg | grep -i eth

eth1394: $Rev: 1224 $ Ben Collins <bcollins@debian.org>

eth1394: eth0: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)

forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.31.

eth1: forcedeth.c: subsystem: 01043:8141 bound to 0000:00:0a.0

```

 *Quote:*   

> 
> 
> und könntest du mal die ausgabe von lsmod hier posten ??
> 
> 

 

```

# lsmod

Module                  Size  Used by

usbhid                 35520  0

forcedeth              19648  0

snd_intel8x0           35392  0

nvidia               4382948  12

snd_emu10k1_synth       8000  0

snd_emux_synth         38336  1 snd_emu10k1_synth

snd_seq_virmidi         8064  1 snd_emux_synth

snd_seq_midi_emul       8832  1 snd_emux_synth

snd_emu10k1            95908  1 snd_emu10k1_synth

snd_ac97_codec         82384  2 snd_intel8x0,snd_emu10k1

snd_util_mem            5376  2 snd_emux_synth,snd_emu10k1

eth1394                21776  0

sata_sis                8128  0

sata_sx4               14596  0

sata_nv                10244  0

sata_via                9540  0

sata_svw                8708  0

sata_sil               10372  0

sata_promise           12036  0

libata                 49096  7 sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise

sbp2                   25352  0

ohci1394               33540  0

ieee1394              114584  3 eth1394,sbp2,ohci1394

usb_storage            70848  0

ohci_hcd               21192  0

uhci_hcd               31904  0

ehci_hcd               33416  0

```

(Nicht erschrecken, sind einige Module dabei, die nicht gebraucht weden, Genkernel eben. War bis jetzt zu beschäftigt, um das ernsthaft anzugehen)

 *Quote:*   

> 
> 
> denn es sieht so aus als würde beim starten ein weiterer treiber geladen, der eth0 erstellt.
> 
> entweder ist das ein netzwerkkarten treiber oder eventuell euch das firewire-netzwerk-modul eth1394

 

Wie du siehst, wird tatsächlich eth1394 geladen und mit eth0 belegt. Das ist dann wohl der Grund.

Wie bekomm ich das jetzt wieder richtig gebogen? Oder ist das so in Ordnung?

Was mich auch noch stutzig macht: Es ist sonst kein Netzwerk-Modul zu sehen. Ich hab ein Board mit nforce4-Chipsatz, aber der nötige Treiber ist bei lsmod nicht zu sehen.

Besten Dank

Franz

----------

## firefly

doch der 2. treiber ist der forcedeth  :Wink: 

```
# lsmod

Module                  Size  Used by

usbhid                 35520  0

forcedeth              19648  0    <----------------------------------------- hier

snd_intel8x0           35392  0

nvidia               4382948  12

snd_emu10k1_synth       8000  0

snd_emux_synth         38336  1 snd_emu10k1_synth

snd_seq_virmidi         8064  1 snd_emux_synth

snd_seq_midi_emul       8832  1 snd_emux_synth

snd_emu10k1            95908  1 snd_emu10k1_synth

snd_ac97_codec         82384  2 snd_intel8x0,snd_emu10k1

snd_util_mem            5376  2 snd_emux_synth,snd_emu10k1

eth1394                21776  0

sata_sis                8128  0

sata_sx4               14596  0

sata_nv                10244  0

sata_via                9540  0

sata_svw                8708  0

sata_sil               10372  0

sata_promise           12036  0

libata                 49096  7 sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise

sbp2                   25352  0

ohci1394               33540  0

ieee1394              114584  3 eth1394,sbp2,ohci1394

usb_storage            70848  0

ohci_hcd               21192  0

uhci_hcd               31904  0

ehci_hcd               33416  0 
```

Du kannst auch diese device per nameif umbenenen. Die macadresse von dem device bekommst du per ifconfig raus :

hier mal meine ausgabe für diese modul:

```
ifconfig -a

--schnip--

eth1      Link encap:UNSPEC  HWaddr 00-01-2F-21-00-00-9E-6B-00-00-00-00-00-00-00-00  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

--schnap--
```

du musst nur ":" anstelle der "-" schreiben.

gruß

firefly

----------

