[gelöst] Privacy Extension blockt WWW

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 22.09.2019 20:20:06

Da ist einiges, was ich anders verstanden habe.... was dann schließlich zu meiner Entscheidung geführt hat, Virtual Box abzulösen und sowohl Docker- als auch LXC-Container konsequent auszuschließen . Aber das ist hier nicht das Thema und und hilft auch nicht bei der Lösung meines Problems, insofern hab ich auch kein großes Interesse daran, mehr über LXC zu erfahren... sorry.... :wink:

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 22.09.2019 20:57:34

Jetzt hab ich noch eine Debian VM mit KVM/libvirt installiert. Das nutzt auch mein br0 um Netz zu bekommen.

Wie erwartet geht hier auch mit und ohne PE das Netzwerk. WWW hab ich jeweils mit

Code: Alles auswählen

wget -6 google.de -O -
getestet.

2300

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 22.09.2019 21:02:07

Versuch doch mal mit tcpdump oder wireshark zu lauschen was bei dir passiert wenn du mit IPv6+PE versuchst per WWW was zu laden oder lesen.

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 22.09.2019 21:15:47

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
22.09.2019 20:57:34
Jetzt hab ich noch eine Debian VM mit KVM/libvirt installiert. Das nutzt auch mein br0 um Netz zu bekommen.
Wie erwartet geht hier auch mit und ohne PE das Netzwerk. WWW hab ich jeweils mit

Code: Alles auswählen

wget -6 google.de -O -
getestet.
Daran hab ich jedoch großes Interesse. :hail: Verräts Du mir bitte die Bridge-Konfiguration auf dem Host? Ich war vor einiger Zeit mit der traditionellen Bridge-Konfiguration nicht hartnäckig genug, ums damit ans Laufen zu bringen.... das klappte zunächst mal nicht, mit dem macvtap-Device hingegen sofort. Und damit war ich dann leider zu vorschnell zufrieden. :roll:

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 22.09.2019 21:17:03

Code: Alles auswählen

auto br0
allow-hotplug br0

iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_waitport 0
        bridge_fd 0 
;)

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 22.09.2019 23:12:03

Das war jetzt der entscheidende Hinweis... mit einer 'normalen' Bridge funktioniert es auch mit den PE. :)

Allerdings habe ich jetzt das gleiche Problem, wie damals, ich weiss nicht, wie man die Bridge einrichtet :mrgreen: deswegen habe ich ja auch bis heute das macvtap-Device genutz, was relativ einfach zu handhaben war. Also, ich krieg die bridge eingerichtet, sie funktioniert auch sofort, wie es soll, die VM rennt geradezu perfekt... nur klaut sie dann dem Host das Netzwerk. Mit gestarteter VM frisst sich der Host beispielsweise bei Zugriffen auf entfernte Samba-Laufwerke fest. Sobald ich die VM schließe und die Bridge entferne, läuft es auf dem Host wieder normal. Aber die spannende Erkenntnis ist, mit macvtap-Device funktionieren die PE nicht, mit Bridge-Device hingegen schon.

Jetzt ist nur noch die Frage, wie erstellt man mit iproute-Kommandos eine funktionierende Bridge? Mit der folgenden Kommando-Kette rennt die VM wie'n döppken, aber der Host humpelt:

Code: Alles auswählen

ip link add br0 type bridge; \
ip link set enp2s0 master br0; \
ip link set br0 address 52:54:00:aa:bb:cc; \
ip link set br0 up
Sobald die bridge wieder entfernt ist, rennt auch wieder der Host:

Code: Alles auswählen

ip link del br0 type bridge

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 23.09.2019 09:05:01

Du solltest fd auf 0 setzen und auch STP aus machen.

https://wiki.debian.org/BridgeNetworkConnections
Debian Wiki hat geschrieben: Some other useful options to use in any stanza in a virtualised environment are:
bridge_stp off # disable Spanning Tree Protocol
bridge_waitport 0 # no delay before a port becomes available
bridge_fd 0 # no forwarding delay
bridge_ports none # if you do not want to bind to any ports
bridge_ports regex eth* # use a regular expression to define ports

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 23.09.2019 11:52:34

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 09:05:01
Du solltest fd auf 0 setzen und auch STP aus machen.
Ja, habe ich jetzt berücksichtigt. Ich habe die Bridge jetzt wie folgt erstellt:

Code: Alles auswählen

sysctl -w net.ipv4.ip_forward=1; \
sysctl -w net.ipv4.ip_forward=1; \
sysctl -w net.ipv6.conf.all.forwarding=1; \
ip link add br0 type bridge; \
ip link set br0 address 52:54:00:9b:f1:89; \
ip link set br0 type bridge stp_state 0; \
ip link set br0 type bridge forward_delay 0; \
ip link set enp2s0 master br0; \
ip link set br0 up
Damit funktioniert die VM perfekt, aber der Host ist vom Netz abgehängt.... :roll:

Mir ist jetzt hier u.a. unklar, ob br0 selber IP-Adressen haben muss. Ich meine mal gelesen zu haben, dass die Bridge keine eigene IPs haben darf. Und das zweite ist, ich glaube mich zu erinnern, dass eine solche Bridge immer auch ein Tap-Device haben muss. Wie ist das bei Dir mit dem KVM-Setup? Hat die Bridge eigene IPs und gibts da noch ein Tap-Device...?... also BEVOR die VM gestartet wird... denn die generiert ja auch noch ein virtuelles Device.

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 23.09.2019 12:21:10

Hallo Thomas,

bei mir hat das br0 die IP Adresse(n). Die Member haben keine Adressen. Die br0 hat auch keine MAC. Das br0 repräsentiert bei mir die Verbindung zu diesem Netz aus dem Host raus. eth0 ist der physikalische Link zu dem Netz zur FritzBox. Wenn eine Bridge kein Device hat, nutze ich halt "bridge_ports none" beim Setup der Bridge. SIe muss kein tab haben.

Das tap Device wird automatisch von libvirt erstellt und zerstört beim Start der VM. Es wird auch automatisch der br0 hinzugefügt und entfernt. eth0 ist bei mir schon von Systemstart an in der Bridge. Sonst erst mal nichts.

Eine brX ohne IP und ohne Device nutze ich, um ein Netz zwischen VMs zu realisieren die der Host nicht wissen muss/soll. Er hat keine IP, also auch keinerlei Routing. ;) libvirt/lxc erstellt das veth/tap Device und stellt das in die jeweilige Bridge. Damit können die Layer 2 Frames zwischen den Membern ausgetauscht werden.

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Privacy Extension blockt WWW

Beitrag von unitra » 23.09.2019 13:42:26

Die Bridge selbst sollte eine IP Adresse haben, und alle anderen "physischen Schntistellen" die sich der Bridge bedienen sollten in diese "bridge group" hinzugefügt werden. Eine Anleitung ist hier zu finden.

* https://wiki.archlinux.org/index.php/Ne ... h_iproute2

Zur MAC Adresse, der Bridge sollte keine MAC Adresse manuell vergeben werden, also entweder automatische MAC Adresse, oder wenn man denn unbedingt eine MAC Adresse konfigurieren möchte dann darf die NICHT GLEICH der MAC Adresse der eth0 oder der wlan0 Schnittstelle sein. Ansonsten kommen die Ethernet Frames nicht bei der richtigen MAC Adresse an, oder es gibt ein merkwürdiges Verhalten, dass Ethernetframes nicht ankommen da wo sie sollen.

Die Empfehlung wäre die bridge nur mittels iproute2 tool zu konfigurieren.
Eventuell fehlt noch ein:

Code: Alles auswählen

ip link set eth0 up
wenn eth0 bereits der Bridge hinzgefügt wurde. Danach muss es klappen.
TomL hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 11:52:34
...Mir ist jetzt hier u.a. unklar, ob br0 selber IP-Adressen haben muss. ...

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 23.09.2019 15:12:51

@unitra

Danke für den Tip.... und ich habs mir angesehen. Ich bin der Meinung, dass das absolut identisch zu meiner Vorgehensweise ist. Lediglich mit der Bridge-IP und der MAC ist noch unklar. Von alleine zieht br0 keine IPv4, und via SLAAC wird keine gebildet. Und die MAC ist ohne Angabe einfach nur 00:00:00:00:00:00, deswegen habe ich ihre eine Unique-MAC manuell verpasst.

Aber Fakt ist.... mit diesen Statements funktioniert die Bridge ja, auch ohne IPs, die VM hat Netzzugang, IPv6 (SLAAC und PE) funktionieren fehlerfrei, seitens der VM ist geradezu alles perfekt.

Code: Alles auswählen

# ip link add br0 type bridge; \
> ip link set br0 address 52:54:00:9b:aa:aa; \
> ip link set br0 type bridge stp_state 0; \
> ip link set br0 type bridge forward_delay 0; \
> ip link set br0 up

# ip link set enp2s0 master br0
Nur ist mit dem letzten Statement von oberhalb unmittelbar der PC selber vom Netz 'abgehängt'... die VM läuft perfekt, der Host-PC hat aber kein Netz mehr. Erst mit ersten der folgenden Statement hat der PC wieder das Netz verfügbar, aber dann ist die VM abgehängt:

Code: Alles auswählen

# ip link set enp2s0 nomaster; \
> ip link set br0 down; ip link del br0 type bridge
Und weil das offensichtlich bei Schorsch funktioniert, muss hier also noch ein Fehler vorliegen... die Frage ist nur, wo?

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 23.09.2019 15:16:59

Ich starte die br0 immer über /etc/network/interfaces.d/br0. Vielleicht ist es ja das?

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 23.09.2019 17:07:29

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 15:16:59
Ich starte die br0 immer über /etc/network/interfaces.d/br0. Vielleicht ist es ja das?
Das ist möglich.... ich kanns nur nicht bestätigen, weil es hier keine solche Datei gibt. Ist das ein ausführbares Script? Wo hast Du das runtergeladen?

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 23.09.2019 17:47:54

Code: Alles auswählen

man interfaces
:wink:

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 23.09.2019 18:48:49

*lol* ... ich hatte gehofft, Du hättest die Ironie der Frage verstanden.... deswegen hatte ich das "ich starte" auch markiert. Ich weiss, was das Verzeichnis tut bzw. welchen Zweck es hat, aber ich weiss nicht, was Du dort eingetragen hast, damit es das tut, was Du möchtest, das es das tut ... und genau das findet man leider auch nicht in der Man-Page.

BTW, ich nutze weder networking.service, noch /etc/init.d/networking, noch ifup@.service, noch den networkmanager..... insofern könnte ich da auch Kochrezepte speichern, würde auch nix kaputt machen. :mrgreen: Ich versuche den ganzen Kram ja komplett auf iproute2-Ebene mit den richtigen Statements zu verwirklichen ... um darüber dann am Ende auch die Zusammenhänge besser zu verstehen. Durch Deine Hinweise z.B. auf stp-state und forward-delay habe ich auch dazugelernt. Und fakt ist, alle die gennanten Tools machen auch nix anderes... also muss es gehen... und ich versuch mich da halt mühsam hinzuarbeiten. :roll: Also wie gesagt, hilfreich wäre es zu wissen, wie die Bridge parametrisiert wurde und wie das Interface in der $VM.xml eingestellt ist. Vielleicht habe ich dabei einen Fehler gemacht. :?

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Privacy Extension blockt WWW

Beitrag von schorsch_76 » 23.09.2019 19:48:54

Code: Alles auswählen

georg@M4700:~$ sudo cat /etc/network/interfaces.d/br0
[sudo] Passwort für georg: 
auto br0
allow-hotplug br0

iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_waitport 0
        bridge_fd 0 
        
georg@M4700:~$ sudo cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
georg@M4700:~$ 

So erstelle ich die VM bzw binde an das Netzwerk
2301

Code: Alles auswählen

virsh # dumpxml --domain debian-vm
<domain type='kvm'>
  <name>debian-vm</name>
  <uuid>b517882c-e856-4d16-8602-5d5c710d49d0</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://debian.org/debian/9"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state='off'/>
  </features>
  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/georg/vm/rootfs.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='sda' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0x16'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:c0:d3:a1'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='2'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'>
      <listen type='address'/>
      <image compression='off'/>
    </graphics>
    <sound model='ich9'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
      <address type='usb' bus='0' port='2'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <address type='usb' bus='0' port='3'/>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </memballoon>
    <rng model='virtio'>
      <backend model='random'>/dev/urandom</backend>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </rng>
  </devices>
</domain>

Code: Alles auswählen

georg@M4700:~/vm$ sudo ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000
    link/ether e0:db:55:ea:52:3f brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e0:db:55:ea:52:3f brd ff:ff:ff:ff:ff:ff

Code: Alles auswählen

georg@M4700:~/vm$ sudo ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether e0:db:55:ea:52:3f brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e0:db:55:ea:52:3f brd ff:ff:ff:ff:ff:ff
    inet 192.168.160.48/24 brd 192.168.160.255 scope global dynamic br0
       valid_lft 850798sec preferred_lft 850798sec
    inet6 2003:d8:2706:6000:e2db:55ff:feea:523f/64 scope global dynamic mngtmpaddr 
       valid_lft 7036sec preferred_lft 1048sec
    inet6 fe80::e2db:55ff:feea:523f/64 scope link 
       valid_lft forever preferred_lft forever

Code: Alles auswählen

georg@M4700:~/vm$ sudo brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.e0db55ea523f       no              eth0

TomL

Re: Privacy Extension blockt WWW

Beitrag von TomL » 24.09.2019 15:45:02

Mein libber schorsch_76,

als ich heute morgen meinen Rechner eingeschaltet habe, hatte ich den festen Vorsatz, diesen Tread als "[unlösbar abgehakt]" zu markieren und den Sch**ß zu vergessen. Unlösbar vor dem Hintergrund, dass ich hinsichtlich Netzwerk eben kein normales Debian-Setup habe, sondern einen Weg abseits des normalen gehe. Bei mir gibts eben keinen dhcpcd5, networkmanager, ifup, /etc/interfaces, networkd. Ich habe das alles als unerwünschte Bloatware deklariert und deinstalliert. Stattdessen konfiguriere ich das Netzwerk komplett manuell via iproute2-Statements. Und eben alles das, wofür man 1000 Anleitungen im Web findet, ist hier nicht wirklich hilfreich. Mit den Beispiel-Einträgen aus der /etc/network/interfaces ist so gut wie kaum was anzufangen, weil nicht daraus hervorgeht, welches Programm was in welcher Reihenfolge wann damit anstellt.

Es sind halt nur Parameter, die zwar Rückschlüsse auf die Wirkung zu lassen, aber nicht wie diese Wirkung zustande kommt und welches Programm dafür verantwortlich ist. Der networkmanager oder ifup oder bridgectl verwenden diese Parameter, aber sie verbergen, was sie damit tun. Und genau deswegen will ich diese Bloatware nicht ... ich will lieber wissen wie es in der Tiefe funktioniert.

Tja.. und heute morgen sehe ich Dein Posting.... auf einmal wars klar und dann auch ganz einfach.... :D .... das hat den Knoten gelöst.... :THX:

Also, das ist die Lösung, die ich Dank Schorsch's Posting gefunden habe, mit der das Netzwerk allgemein und eine Bridge für meine Libvirt-VM's funktioniert, und alles korrekt mit IPv4 (NAT), IPv6 (PE + MAC) als reguläre LAN-Clients. Das Netzwerk ist nach dem Systemstart unkonfiguriert, keine offenen Verbindungen, keine Interface-UPs, keine laufenden Netzwerk-Dienste. Für das phys. NIC ist IPv6 disabled:

Code: Alles auswählen

ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        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: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether 52:54:00:9b:aa:aa brd ff:ff:ff:ff:ff:ff

cat sysctl-ipv6-tpc.conf | grep enp2s0
    net.ipv6.conf.enp2s0.disable_ipv6=1
    net.ipv6.conf.enp2s0.forwarding=0
    net.ipv6.conf.enp2s0.autoconf=0
    net.ipv6.conf.enp2s0.use_tempaddr=0
    net.ipv6.conf.enp2s0.accept_ra=0
Mit den folgenden iproute2-Kommandos die Bridge erstellen und das Netzwerk starten. Achtung, die HW-Adresse der Bridge muss identisch sein, mit der des phys. NICs (s.o.) sein. Dieses Setup ist ein DHCP-Setup.

Code: Alles auswählen

ip link add br0 type bridge; \
ip link set br0 type bridge stp_state 0; \
ip link set br0 type bridge forward_delay 0; \
ip link set br0 address 52:54:00:9b:aa:aa; \
sysctl -w net.ipv4.ip_forward=1; \
sysctl -w net.ipv6.conf.all.forwarding=1; \
sysctl -w net.ipv6.conf.br0.forwarding=1; \
sysctl -w net.ipv6.conf.br0.disable_ipv6=0; \
sysctl -w net.ipv6.conf.br0.autoconf=1; \
sysctl -w net.ipv6.conf.br0.use_tempaddr=2; \
sysctl -w net.ipv6.conf.br0.accept_ra=2; \
ip link set enp2s0 master br0; \
ip link set enp2s0 up; \
ip link set br0 up; \
dhclient -v br0
Bei einen Static-IP-Setup kann unterhalb der Hardware-Adresse Statement 1 eingefügt werden und die dhclient-Zeile durch Statement 2 ausgetauscht werden (LAN = 172.100.1/24, Standard-GW = 172.100.1.1):

Code: Alles auswählen

ip addr add 172.100.1.2/24 dev br0
ip route add default via 172.100.1.1
Der Vorteil hierbei ist, mit diesem obigen Kommandopaket, was ich alles in eine einzige Service-Unit packe, spare ich mir alle sonstigen für den Netzwerkbetrieb eingesetzten Tools. Das finde ich natürlich richtig gut... :wink:

Noch mal Danke an mat6937 und schorsch_76, ohne euch hätte ich das Problem nicht lösen können. :hail:

Antworten