Probleme mit Bridge

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
SebSchremser
Beiträge: 1
Registriert: 01.05.2016 14:24:27

Probleme mit Bridge

Beitrag von SebSchremser » 01.05.2016 16:01:52

Hallo Debian Forum.

Ich habe mir als Arbeitsnotebook ein Debian 8 hergerichtet. Leider habe ich etwas Probleme mit einer Bridge die mir erst jetzt aufgefallen sind.
Wenn ich das Notebook in der Firma habe und ein Netzwerkkabel ist angesteckt habe ich keine Probleme. Da klappt alles wunderbar.

Aber wenn ich auswärts bin wo kein Netzwerkkabel angeschlossen ist habe ich Probleme. Das fängt an das der Boot-Vorgang extrem lange dauert:

Code: Alles auswählen

A start job is running for LSB: Raise network interfaces
Im journactl -k taucht folgendes dazu auf:

Code: Alles auswählen

Mai 01 15:05:53 basti-debian-nb kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Mai 01 15:05:53 basti-debian-nb kernel: IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
Nach einem Timeout von 1 Minute und 47 Sekunden macht das Geräte weiter und ich gelange zum Login.

Jetzt kommt das zweite größere Problem. Ich verbinde mich z.B. mit dem Kunden-WLAN damit ich meine Arbeiten durchfüren kann.
Die WLAN Verbindung klappt ohne Probleme. Aber augenscheinlich möchte der komplette Traffic über meine Bridge laufen. Ein Ping-Versuch in die weite Welt zeigt mit folgendes:

Code: Alles auswählen

root@basti-debian-nb:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 169.254.7.129 icmp_seq=1 Destination Host Unreachable
From 169.254.7.129 icmp_seq=2 Destination Host Unreachable
From 169.254.7.129 icmp_seq=3 Destination Host Unreachable
From 169.254.7.129 icmp_seq=4 Destination Host Unreachable
From 169.254.7.129 icmp_seq=5 Destination Host Unreachable
From 169.254.7.129 icmp_seq=6 Destination Host Unreachable
^C
--- 8.8.8.8 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6022ms
pipe 3
Die IP 169.254.7.129 ist von meiner Bridge:

Code: Alles auswählen

root@basti-debian-nb:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    link/ether c4:7d:46:13:da:5e brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ac:fd:ce:d0:74:a6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.23/24 brd 10.0.0.255 scope global dynamic wlan0
       valid_lft 86270sec preferred_lft 86270sec
    inet6 fe80::aefd:ceff:fed0:74a6/64 scope link 
       valid_lft forever preferred_lft forever
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether c4:7d:46:13:da:5e brd ff:ff:ff:ff:ff:ff
    inet 169.254.7.129/16 brd 169.254.255.255 scope link br0:avahi
       valid_lft forever preferred_lft forever
Noch ein route -n:

Code: Alles auswählen

root@basti-debian-nb:~# route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     1004   0        0 br0
0.0.0.0         10.0.0.138      0.0.0.0         UG    1024   0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 br0
Bei der Einrichtung von der Bridge habe ich mich ziemlich lange gespielt. Aber ich glaube ich habe es schlussendlich mit brctl durchgeführt, da es mir nicht gelang die Bridge über den NetworkManager oder virt-manager einzurichten.

Hier noch ein paar Infos zu der interfaces und brctl:

Code: Alles auswählen

root@basti-debian-nb:~# 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 br0
iface lo inet loopback

# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual

# Bridge setup
iface br0 inet dhcp
   bridge_ports eth0
root@basti-debian-nb:~# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.c47d4613da5e	no		eth0
Wenn mir hier jemand helfen könnte wäre ich euch sehr dankbar.

Liebe Grüße
Basti

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Probleme mit Bridge

Beitrag von rendegast » 02.05.2016 16:42:58

/etc/NetworkManager/dispatcher.d/pre-up.d/
vielleicht kann darüber eth0 oder br0 explizit down genommen werden,
oder halt nur das entsprechend unpassende default-Gateway entfernt werden (falls noch aktiv).

Aber ersteres bedingt, daß eth0/br0 bei kabelanstekken auch wieder aktiv gemacht werden müßte.

Müßte halt mal nachgesehen werden,
was passiert wenn das Kabel angesteckt wird (carrier),
ob zBsp. /etc/network/if*.d/ durchlaufen werden
wenn eth0/br0 up/down, mit/ohne gesetztem gateway.


Auch könnte statt per interfaces auch eine systemd-unit für eth0/br0 gesetzt werden.





--------------------------------------
Nebenbei
auto lo br0
iface lo inet loopback
...
Aus dem postinst ifupdown 0.7.53.1 (jessie)

Code: Alles auswählen

...
# Generic stuff done on all configurations
if [ "$1" = "configure" ] ; then
  # We don't need loopback interface definition anymore as
  # ifupdown handles loopback interface on its own from now
  if [ ! -f /etc/network/interfaces ] ; then
    if [ -z "$2" ]; then
      echo "Creating /etc/network/interfaces."
      echo "# interfaces(5) file used by ifup(8) and ifdown(8)" > /etc/network/interfaces
      echo "# Include files from /etc/network/interfaces.d:" >> /etc/network/interfaces
      echo "source-directory /etc/network/interfaces.d" >> /etc/network/interfaces
    else
...
also kein lo mehr,
und die Konfig könnte/kann komplett nach interfaces.d/ verschoben werden wegen

Code: Alles auswählen

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten