Beiträge von AlexandrodelaVega

    Mein Verständnis von Bridging ( Trunking, Bonding mal ausgeschlossen ).


    Hier mal eine Gedankenskizze. Die Erklärung s.u.:


    ====================================
    br0 (IP1) --- eth0 (noIP) (1.Netdevice des Hosts)
    .............|
    .............--- vnet0 (IP12) (Netdevice 1.Virtueller Host)
    .............|
    .............--- vnet1 (IP13) (Netdevice 2.Virtueller Host)
    ...



    br1 (IP2) --- eth1 (noIP) (2.Netdevice des Hosts)


    ====================================


    noIP = ...
    IP1 = 170.XXX.XXX.001
    IP12 = 170.XXX.XXX.002
    IP13 = 170.XXX.XXX.003


    IP2 = 171.XXX.XXX.001


    br - Bridge-Device
    eth - Physikalische Devices
    vnet - Virtuelle Devices


    =====================================



    Also grundsätzlich verhält es sich wie oben skizziert.


    br0 ist die Bridge . eth0 wird als SlaveDevice mit der Bridge br0 verbunden.
    br0 hat die IP des Hosts und aus Sicht des Hostes hat eth0 keine IP mehr. Ich verstehe das so, dass br0 und eth0 hier parallel geschaltet sind und eth0 der erste "Kunde" auf der Bridge br0 ist.


    Bei Installation einer Virtuellen Maschine entsteht ein neuer Eintrag auf der Bridge mit Namen vnet0.
    Die IP von vnet0 setzt der erste Virtuelle Host selbst (statisch oder DHCP), dessen internes Netzdevice ebenfalls auf br0 geschaltet ist. vnet0 ist also der zweite "Kunde" auf der Bridge br0.


    Die IPs von br0 liegen alle auf demselben IP-Bereich, hier 170.XXX.XXX.00Y ( Y=1,2,3..)


    Ist im Host-Rechner eine weitere Schnittstelle eth1 vorhanden, lässt sich eine weitere Bridge installieren, br1. Usw.



    Command-> : brctl show


    bridge name bridge id STP enabled interfaces
    br0 8000.001999ff0bd7 no eth0
    .......................................vnet0
    br1 8000.001999ff0bd6 no eth1


    Das spiegelt sauber die oben beschriebene Konfiguration wieder.



    Was mir bei Deiner Konfiguration auffällt:
    =============================


    o) br0 hat keine IP, ich vermute, dass das der Name Deiner Bridge ist.


    o) enp0s31f6 hat eine IP (192.168.178.20), die IP müsste die Bridge haben und enp0s31f6 müsste ein SlaveDevice von br0 sein.
    (Die IP wird eigentlich von ifconfig auf dem Host enp0s31f6 nicht angezeigt)


    o) Das Ethernet-Device (enp0s31f6) und das WLAN-Device (wlp1s0) beherbergen dasselbe Subnetz.


    enp0s31f6 IP 192.168.178.20
    wlpls0 IP 192.168.178.21


    Der Sinn erschliesst sich mir nicht. Ich würde erwarten, dass das Ethernetdevice und das Wlan-Device unterschiedliche Subnetze sind, also müsste etwa wlpls0 IP 192.168.179.21 haben (statt X.X.178.X ).


    Wenn schnelle Datenübertragung gefragt ist, ist das Kupfernetz sicher schneller ( über enp0s31f6 , Routing über 192.168.178.0 ).
    Wenn Verbindung ins Internet gefragt ist, ist WLAN über den Internetrouter eine gute Wahl ( über wlpls0 ).
    Aber Vorbedingung ( oder zumindest ist es sauberer ) sollten enp0s31f6 ( eignetlich br0 ) und wlpls0 ( eignetlich br1 ) unterschiedliche Subnetze sein, damit das Routing sauber ist.


    Bei Deinen Devices virbr0 und virbr1 kann ich nur raten, dass das weitere Bridges sind. Wozu?
    Klar kann man weitere Bridges definieren, deren IPs nicht auf dem Netzwerk der Hauptbrigde (brX) liegt. Das macht aber nur Sinn, wenn die mit virbrX verbunden Virtuellen Hosts keine Verbindung nach aussen haben sollen, sondern nur untereinander kommunizieren sollen.


    Also entsprechend obiger Skizze müsste Deine Netzkonfiguration so aussehen:


    br0 () --- enp0s31f6 (noIP) (1.Netdevice des Hosts)
    .........|
    .........--- virbr0 (IP im SubNetz br0) (Netdevice 1.Virtueller Host br0)
    .........|
    ............



    br1 () --- wlpls0 (noIP) (2.Netdevice des Hosts)
    .........|
    .........--- virbr1 (IP von SubNetz br1) (Netdevice 1.Virtueller Host auf br1)
    ...


    Ich habe 4 physikalische Hosts mit ca. 20 Virtuellen Hosts laufen. Alles arbeitet korrekt ... ich hoffe, ich habe das einigermassen verständlich erklärt und Dein Problem korrekt verstanden.

    Ok, ich versuche es mal. Ich blicke noch nicht vollständig bei Dir durch, aber es gibt einen hervorragenden Artikel aus der ehemaligen Easylinux, wo kochrezeptartig KVM und das Aufsetzen der Bridge beschrieben wird.
    Leider ist der Artikel nicht in der Community-Edition nicht drin (d.h. zum freien Download). Er heisst "Virtuale Maschinen mit KVM und Xen" Seite 54. Das wäre für Dich die optimale Lektüre, um überhaupt mal Boden unter den Füssen zu kriegen.
    EasyLinux-CE-2018-01.pdf


    Ok, das hilft Dir jetzt nicht.


    Grundsätzlich ist es so, dass die Physikalischen Devices der Suse-Rechner ( eth0, eth1 ... ) auf die Bridge (br0) gemappt werden. D.h. die br0 hat eine IP (das ist bei Dir oben nicht so ) . In dem Virtuellen Client steht dann unter NIC in der Info: Netzwerkquelle: Bridge br0 : Hostgerät eth0 . Ich verstehe das so, dass die Devices der virtuellen Maschine ( eth0 ... ) auf die br0 gemappt werden und damit im Netzwerk befindlich sind, in der br0 residiert. Damit müssten sich dann Host und Virtuele Maschine gegenseitig pingen können. Die IP, die in der virtuellen Maschine (auf eth0 ) vergeben wird, muss zu dem Netzwerk auf br0 passen.


    Bei Dir hat enp0s31f6 eine IP, nicht die Bridge. Und enp0s31f6 korrespondiert mit wlp1s0 . Ich denke enp0s31f6 muss slave der Bridge werden.


    So weit erstmal.