ubuntuusers.de

ip link Cannot find device

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

triedel

Anmeldungsdatum:
23. Juni 2014

Beiträge: Zähle...

Hallo zusammen, Ich habe folgendes Problem (und ja ich habe schon gegoogelt, aber nichts gefunden 😉):

Ich wollte eine Netzwerkbrücke erstellen und aktivieren (Konfiguration vorerst unwichtig):

1
2
ip link add name br1 type bridge
ip link set dev br1 up

Das hat auch funktioniert, aber nach einem Reboot ist die Brücke wieder verschwunden, also gegoogelt und zur Lösung gekommen, dass ich die Brücke in /etc/network/interfaces anlegen muss, das sieht dann bei mir so aus (Wieder die Konfiguration unwichtig):

#Bridge br1:
auto br1
iface br1 inet loopback
bridge_ports none
bridge_fd 5
bridge_stp no

So soweit so gut, jetzt kommt das Problem:

Wenn ich jetzt den Befehl ip link set dev br1 up absetzte kommt die Fehlermeldung Cannot find device br1. Wenn ich aber vorher den Befehl ifup br1 durchführe, kann ich mit ip link set dev br1 down die Brücke wieder herunterfahren, bzw. analog wieder hochfahren. Nach einem ifdown br1 kommt allerdings wieder Cannot find device br1 bei dem selben Befehl. Ich brauche aber die Möglichkeit über ip auf die Brücke zuzugreifen.

Habe ich einen Fehler beim Erstellen der Brücke gemacht oder woran liegt das?

Falls ihr noch Angaben zum System braucht, schreibt bitte welche das konkret sind.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

1.

iface br1 inet loopback

ist Unfug. Die Methode loopback ist ausschließlich für die Schnittstelle lo vorgesehen.

2. Verwende

iface br1 inet manual

oder

iface br1 inet dhcp

(Letztere Variante ist allerdings mit bridge_ports none unsinnig.)

3. Die Zeile

auto br1

bedeutet, dass beim Startvorgang ein ifup br1 automatisch ausgeführt wird. Ein weiteres ifup br1 führt dann zum Fehler. Eine Zeile auto … sollte man erst dann in die Datei /etc/network/interfaces aufnehmen, wenn die dazugehörende Konfiguration fehlerfrei ist. Eine fehlerhafte Datei /etc/network/interfaces kann den Start des Rechners verhindern.

4. Möglicherweise wird das Paket bridge-utils für die Konfigurationsoptionen bridge_ports etc. benötigt.

5. Wenn Du ein Interface testweise manuell aktivieren möchtest, ist die Option -v hilfreich:

ifup -v br1

Man sieht dann, was alles passiert …

triedel

(Themenstarter)

Anmeldungsdatum:
23. Juni 2014

Beiträge: 7

1-3. Wie gesagt die Konfiguration sei mal so dahingestellt, diese wird erst später wichtig, aber du hast ja Recht mit dem loopback 😉 Allerdings befinde ich mich auf einem Server, bei dem ich nicht unbedingt den Service oder die ganze Maschine neustarten möchte sobald ich ein neues Interface hinzugefügt habe. Zwar ist es richtig, dass auto br1 das Interface bei einem Neustart automatisch aktiviert, allerdings, da dieser nicht erfolgt ist ein ifup br1 trotzdem nötig (oder sehe ich das falsch???). Das Paket bridge_utils ist vorhanden, wird aber nicht benötigt.

Mein Problem bleibt aber weiterhin: Warum erkennt der ip Befehl nicht Interfaces die in der Datei definiert wurden, bevor sie über den Befehl ifup aktiviert wurden, bzw. wie kann ich das umgehen?

Danke trotzdem schonmal für deine Antwort

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

Mein Problem bleibt aber weiterhin: Warum erkennt der ip Befehl nicht Interfaces die in der Datei definiert wurden, bevor sie über den Befehl ifup aktiviert wurden, bzw. wie kann ich das umgehen?

Ein Eintrag iface … in der Datei /etc/network/interfaces definiert keine neue Schnittstelle, sondern definiert eine Konfiguration (logical interface) für eine Schnittstelle. Lies die Manpages:

man ifup
man interfaces

Neue Schnittstellen kann man u.a. erzeugen mit

ip link add …

Solch ein Befehl kann auch in der Datei /etc/network/interfaces stehen, z.B.

…
iface bridge inet manual
  pre-up ip link add … | true
…

Lies die Manpage!

triedel

(Themenstarter)

Anmeldungsdatum:
23. Juni 2014

Beiträge: 7

Vielen Dank, ich dachte es gäbe keinen Unterschied zwischen der Definition von einer Konfiguration der Schnittstelle und dem eigentlichen Erzeugen.

Antworten |