Kann nur eine von zwei Schnittstellen aufrufen

7

Ich habe ein bizarres Problem mit meinem HP Proliant DL 360 G4p-Server. Es hat zwei Gigabit-Ethernet-Schnittstellen, aber ich kann nur eine davon aufrufen. Das macht mich langsam fertig und deshalb habe ich mich hier umgedreht. Ich verwende die x64 Ubuntu 11.10 Server Edition.

lshw -c Netzwerk zeigt an, dass die zweite Schnittstelle deaktiviert ist. Ich habe keine Ahnung warum und wie ich es aktivieren soll.

$ sudo lshw -c network
  *-network:0
       description: Ethernet interface
       product: NetXtreme BCM5704 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 2
       bus info: pci@0000:02:02.0
       logical name: eth0
       version: 10
       serial: 00:18:71:e3:6d:26
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 66MHz
       capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 duplex=full firmware=5704-v3.27b, ASFIPMIc v2.36 ip=10.48.8.x latency=64 link=yes mingnt=64 multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:25 memory:fdf70000-fdf7ffff
  *-network:1 DISABLED
       description: Ethernet interface
       product: NetXtreme BCM5704 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 2.1
       bus info: pci@0000:02:02.1
       logical name: eth1
       version: 10
       serial: 00:18:71:e3:6d:25
       capacity: 1Gbit/s
       width: 64 bits
       clock: 66MHz
       capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 firmware=5704-v3.27b latency=64 link=no mingnt=64 multicast=yes port=twisted pair
       resources: irq:26 memory:fdf60000-fdf6ffff

Wenn ich versuche, eth1 zu ifup, dann bekomme ich

$ sudo ifup eth1
Ignoring unknown interface eth1=eth1.

Ich dachte, das passiert, wenn in / etc / network / interfaces kein eth1 aufgeführt ist. Aber wenn ich die Konfiguration für eth1 hinzufüge, kann ich immer noch nicht ifup.

$ sudo ifup eth1
RTNETLINK answers: File exists
Failed to bring up eth1.
I've also tried ifconfig eth1 up but without any result.

Aus Gründen der Übersichtlichkeit habe ich eine maskierte Version von / etc / network / interfaces hinzugefügt. Ich denke nicht, dass es die Ursache des Problems ist.

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 10.48.8.x
        netmask 255.255.255.y
        network 10.48.8.z
        broadcast 10.48.8.t
        gateway 10.48.8.u

auto eth1
iface eth1 inet static
        address   193.190.253.x
        netmask   255.255.255.y
        network   193.190.253.z
        broadcast 193.190.253.t
        gateway   193.190.253.u

Ich brauche wirklich Hilfe, um das zu beheben. Es macht mich verrückt. Vielen Dank.

mstaessen
quelle
1
Können Sie den Inhalt Ihrer / etc / network / interfaces eth0 und eth1
Allan Jude
In der Vergangenheit habe ich den Fehler gemacht, eine Schnittstellenkonfiguration zu kopieren, aber die MAC-Adresse nicht mit CentOS zu ändern. Ich bin mir nicht sicher, ob dies hier zutrifft. Ich musste sehen, /etc/network/interfaceswie Allan sagte
Kyle Brandt
erledigt. Ich denke nicht, dass es sehr relevant ist. Scheint mir richtig zu sein :)
mstaessen

Antworten:

11

Ich habe die Lösung gefunden. In / etc / network / interfaces wurden zwei Gateways definiert, während Sie einfach nicht mehr als ein Gateway haben können. Das macht keinen Sinn.

Ein Gateway ist eine IP, an die Sie ALLEN Datenverkehr senden. Wenn Sie zwei hätten, hätte Ihre Routing-Tabelle einen doppelten Eintrag für dest 0.0.0.0 und das System kann dies nicht verarbeiten. Die doppelte Route bewirkt, dass die RTNETLINK-Antwort "Datei existiert" lautet, dh es gibt bereits eine Route für 0.0.0.0.

Ich habe eines der Gateways auskommentiert und jetzt kann ich sowohl eth0 als auch eth1 ifup.

Löschen Sie die Gateway-Einträge, bis Sie nur noch einen haben.

mstaessen
quelle
3
Nur zu Ihrer Information, Sie können mehrere Gateways haben, nur nicht 2 DEFAULT-Gateways. Genau dafür ist die Routing-Tabelle gedacht, um das Gateway für verschiedene Ziele zu definieren. Ein Standard-Gateway ist einfach die endgültige Übereinstimmung in der Liste.
SimonJGreen
Achtung! Unter Ubuntu 12.04 (dem einzigen, in dem ich dies getestet habe) ist ein vollständiger Neustart erforderlich, wenn Sie die Konfiguration der zweiten Netzwerkkarte verpassen.
Lisandro
Glaube nicht, dass ich dieses Problem hatte. /etc/init.d/networking restartfunktioniert gut
mstaessen
1
Ich füge post-up ip route delete default via 10.0.0.1nach der iface-Deklaration in hinzu /etc/network/interfacesund ändere 10.0.0.1 auf die IP des Standard-Gateways, das Sie löschen möchten.
Michael
2

Durch diesen Link habe ich viel gelernt, was mir geholfen hat, den Fehler zu beheben.

Fügen Sie einfach die folgende Zeile zu Ihrer / etc / network / interfaces unterhalb Ihrer eth0-Konfiguration hinzu:

Pre-Up IP-Adresse del 192.168.1.254/24 dev eth0 2> / dev / null || wahr

Es ist nicht die schönste Lösung, aber es funktioniert zumindest. Credits gehen an den Besitzer von grapsus.net und google.

Sietse Verhagen
quelle
0

In der Mitte des zweiten Teils der Ausgabe befindet sich link=no.

Ich vermute, Sie haben ein loses oder gebrochenes Kabel. Möglicherweise haben Sie auch eine kaputte Netzwerkkarte an einem Ende.

Ladadadada
quelle
Kabel sind vollkommen in Ordnung. Ich kann entweder eth1 oder eth0 ansprechen, aber niemals beides. Beide Netzwerkkarten haben bereits funktioniert, so dass es wahrscheinlich nicht so sein wird.
Mstaessen
0

Sind Sie sicher, dass Sie sich nicht im IAO-Hafen befinden?

Joel K.
quelle
Der ilo-Port ist für das Betriebssystem nicht sichtbar, also nein. Es sind drei Ethernet-Kabel angeschlossen. Alle funktionieren einwandfrei. Das Problem ist die Netzwerkkarte selbst. Ich kann die beiden Schnittstellen nicht gleichzeitig aktivieren.
Mstaessen
0

Wenn Sie möchten, dass nur einer startet, entfernen Sie die auto ethXSpezifikation für den anderen. Es zeigt an, dass die Schnittstelle automatisch gestartet werden soll. Wenn Sie Probleme mit einer Schnittstelle haben, kann es hilfreich sein, diese manuell zu starten, bis Sie das Problem behoben haben.

Möglicherweise möchten Sie auch eine Routing-Metrik für die Schnittstelle festlegen, die nicht die Standardroute sein soll, wenn beide Schnittstellen aktiv sind.

Möglicherweise möchten Sie die Ausgabe von überprüfen, dmesgnachdem Sie versucht haben, die Schnittstellen zu starten. Dies sollte alle generierten Kernel-Nachrichten anzeigen und kann die Diagnose erleichtern. mii-toolWenn verfügbar, können Sie einige gute Informationen zu den Schnittstellen bereitstellen.

BillThor
quelle