# Wie Netzwerkbrücke einrichten?

## 3PO

Hallo Zusammen,

Ich versuche mich gerade etwas mit qemu zu befassen, was soweit auch ganz gut klappt, einzig das Thema Netzwerk macht mit noch zu schaffen.

Ich habe in meinem Server 2 NICs, die als bond0 zusammengefasst sind:

```
server01 ~ # ifconfig

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500

        inet 192.168.177.10  netmask 255.255.255.0  broadcast 192.168.177.255

        ether 00:13:3b:0e:53:da  txqueuelen 1000  (Ethernet)

        RX packets 11203262  bytes 2972690593 (2.7 GiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 9916429  bytes 6462405886 (6.0 GiB)

        TX errors 0  dropped 33 overruns 0  carrier 0  collisions 0

enp10s0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 00:13:3b:0e:53:da  txqueuelen 1000  (Ethernet)

        RX packets 4471160  bytes 1228069809 (1.1 GiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 2539100  bytes 2271873765 (2.1 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp8s0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 00:13:3b:0e:53:da  txqueuelen 1000  (Ethernet)

        RX packets 6732102  bytes 1744620784 (1.6 GiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 7377329  bytes 4190532121 (3.9 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        loop  txqueuelen 1  (Lokale Schleife)

        RX packets 957503  bytes 4512991392 (4.2 GiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 957503  bytes 4512991392 (4.2 GiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

server01 ~ #
```

Während meiner Googlerei habe ich herausgefunden, dass ich wohl eine "Netzwerkbrücke" benötige, leider aber habe ich nirgends eine Anleitung gefunden, die beschreibt, wie das mit gebondeten NICs geht.

Evtl. hat ja Jemanden eine Idee dazu?

----------

## misterjack

 *3PO wrote:*   

> Während meiner Googlerei habe ich herausgefunden, dass ich wohl eine "Netzwerkbrücke" benötige, leider aber habe ich nirgends eine Anleitung gefunden, die beschreibt, wie das mit gebondeten NICs geht.

 

```
brctl addif bond0
```

Anstatt enp*s* (wie z.B. hier: https://wiki.gentoo.org/wiki/Network_bridge) nimmst du einfach bond0  :Wink: 

----------

## 3PO

Meine jetzige Config sieht so aus:

```
ifdown_enp8s0="NO"

ifdown_enp10s0="NO"

config_enp3s0="null"

config_enp8s0="null"

config_enp10s0="null"

slaves_bond0="enp8s0 enp10s0"

mode_bond0="802.3ad"

config_bond0=("192.168.177.10 netmask 255.255.255.0")

routes_bond0=("default via 192.168.177.1")
```

Wenn ich das richtig verstanden habe, dann muss das wie folgt aussehen:

```
ifdown_enp8s0="NO"

ifdown_enp10s0="NO"

config_enp8s0="null"

config_enp10s0="null"

slaves_bond0="enp8s0 enp10s0"

mode_bond0="802.3ad"

config_bond0="null"

bridge_br0="bond0"

config_br0=("192.168.177.10 netmask 255.255.255.0")

routes_br0=("default via 192.168.177.1")

bridge_forward_delay_br0=0

bridge_hello_time_br0=1000
```

Dann noch den Symlink auf br0 anpassen und mit "brctl" bond0 hizufügen. 

Stimmt das so?

Wenn ich das richtig verstanden habe, dan kann ich nun weitere Brücken (br1, br2, ... brx) zu bond0 hinzufügen?

----------

## misterjack

 *3PO wrote:*   

> 
> 
> Stimmt das so?

 

Denke schon, habs selbst nie aufgesetzt in der Konstellation  :Smile: 

 *3PO wrote:*   

> weitere Brücken (br1, br2, ... brx) zu bond0 hinzufügen?

 

?

----------

## 3PO

So wie es aussieht, funktioniert das Bridging wohl nicht mit gebondeten NICs.

Ich habe eine weitere NIC eingebaut, damit geht es einwandfrei.

Die Frage ist halt nun, ob das generell nicht geht, oder ob ich etwas falsch gemacht habe?

----------

## misterjack

Machbar isses: https://www.cyberciti.biz/faq/ubuntu-linux-bridging-and-bonding-setup

----------

## 3PO

Ubuntu scheint das anders zu machen, als gentoo.

Bei mir funktioniert es jedenfalls nicht.  :Sad: 

----------

## bbgermany

Hi,

Ich hatte da mal ein ähnliches Setup am laufen. Wichtig ist, dass der Bond gestartet ist, bevor die Bridge startet. Eventuell hilft dir folgender Eintrag in deiner /etc/conf.d/net

```

rc_net_br0_need="net.bond0"

```

MfG. Stefan

----------

## mvaterlaus

@bbgermany,

alternativ kann man die Dependencies auch in der Datei /etc/conf.d/net angeben.

```

$ cat /etc/conf.d/net

 ...

 rc_net_br0_need="net.bond0"

 ...

```

Ich habe bei meiner Konfiguration kein gebondetes Interface, jedoch habe ich zusätzlich noch ein TAP Interface auf der Bridge:

```

tuntap_tap0="tap"

config_tap0="null"

config_eth1="null"

bridge_br0="eth1 tap0"

config_br0="10.xxx.xxx.xxx netmask 255.255.0.0 brd 10.xxx.255.255"

routes_br0="default via 10.xxx.xxx.xxx"

brctl_br0="setfd 0 stp off"

rc_net_br0_need="net.eth1 net.tap0"

```

----------

## bbgermany

 *mvaterlaus wrote:*   

> ...
> 
> Ich habe bei meiner Konfiguration kein gebondetes Interface, jedoch habe ich zusätzlich noch ein TAP Interface auf der Bridge:...
> 
> 

 

Und genau das ist das Problem. Ein Bonding Interface (Im speziellen wie hier von 3PO ein LACP Interface) benötigt einige Zeit zum initialisieren. Ziemlich oft lässt es sich dann nicht in die Bridge heben, wenn es nicht voll funktionsfähig ist. Deine Konfiguration ist auch die, die ich aktuell auf fast allen Systemen bei mir habe, aber halt ohne bonding.

MfG. Stefan

----------

## mvaterlaus

@bbgermany,

ja, du hast recht. Aus irgend einem Grund hab ich /etc/init.d anstatt /etc/conf.d gelesen.

@3PO: du könntest versuchen, einen Delay in das Startscript der br0 einzubauen, welcher genug Zeit verstreichen lässt, bis das Bonding Up ist. Anschliessend wird dann die Bridge konfiguriert.

----------

