Virtuelles lokales Netzwerk

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
plipMan
Beiträge: 71
Registriert: 31.12.2018 08:36:56

Virtuelles lokales Netzwerk

Beitrag von plipMan » 05.11.2021 15:29:58

Hallo,

ich versuche jetzt schon eine ganze Weile ein virtuelles Netzwerk aufzubauen.

Hintergrund:
Ich habe eine Applikation, die ein IEC61850 Protokoll spricht. Dies beinhaltet zwei Kommunikationprotokolle:
- MMS, TCP/IP basiert
- GOOSE, Layer 2

Die Applikation kann entweder als Server oder als Client agieren. Als Server kann sie sowohl GOOSE als auch MMS senden und empfangen, als Client nur MMS.
Ich möchte diese Applikation auf meinem Rechner testen, indem ich drei Instanzen, 2 Server und 1 Client, über ein virtuelles lokales Netzwerk kommunizieren lasse. Jede Applikation soll ihre eigene NIC/IP bekommen.

Nachdem ich etwas recherchiert habe, habe ich folgenden Ansatz probiert:

Code: Alles auswählen

sudo ip link add eth10 type dummy
sudo ip link add eth11 type dummy
sudo ip link add eth12 type dummy
sudo ip link add br0 type bridge

sudo ip link set dev eth10 master br0
sudo ip link set dev eth11 master br0
sudo ip link set dev eth12 master br0

sudo ip addr add 192.168.42.42/24 dev eth10
sudo ip addr add 192.168.42.43/24 dev eth11
sudo ip addr add 192.168.42.44/24 dev eth12

sudo ip link set dev eth10 up
sudo ip link set dev eth11 up
sudo ip link set dev eth12 up
sudo ip link set dev br0 up
Die Zuordnung ist wie folgt:
Client: eth10
Server1: eth11
Server2: eth12

Leider funktioniert das nur Teilweise und was ich per Wireshark beobachte verwirrt mich etwas. Ich habe für jedes Interface eine Wireshark Aufzeichnung laufen und zusätzlich noch eine für "localhost".
Die MMS Zugriffe vom Client auf die Server funktionieren. Allerdings sind die Zugriffe in Wireshark nur auf "localhost" sichtbar und die Quell- und Ziel-IP sind immer identisch.
Die GOOSE Kommunikation funktioniert gar nicht und ich sehe die Pakete nur auf der Schnittstelle, die dem Sender zugeordnet ist. Beim Empfänger kommt nichts an.

Ich hoffe das ist alles halbwegs verständlich. Vermutlich ist mein Problem etwas exotisch, aber vielleicht kann mir ja trotzdem jemand weiter helfen. Ich vermute, dass an der Art wie ich das Netzwerk erstelle irgendwas nicht passt. Vielleicht hat ja auch jemand eine andere Idee, wie ich mein Testsetup aufsetzen kann.

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: Virtuelles lokales Netzwerk

Beitrag von mludwig » 05.11.2021 18:27:25

Wenn ich das richtig gelesen habe, nutzt Goose normalerweise Multicast, also die Pakete gehen an eine Multicast-Adresse (MAC).

Multicast auf Bridge-Interfaces geht ohne weiteres erstmal nicht, vielleicht hilft dir dieser Link weiter:

https://mail.openvswitch.org/pipermail/ ... 09529.html

plipMan
Beiträge: 71
Registriert: 31.12.2018 08:36:56

Re: Virtuelles lokales Netzwerk

Beitrag von plipMan » 08.11.2021 10:35:56

Das ist korrekt. Danke für den Hinweis.

Ich habe das Snooping wie in dem Beitrag beschrieben zu deaktivieren, in dem ich vor dem "br0 up" Kommando folgenden Befehl absetze:

Code: Alles auswählen

sudo echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
Leider hat das keinen Effekt.

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

Re: Virtuelles lokales Netzwerk

Beitrag von unitra » 12.11.2021 16:34:51

Wenn die Applikation MultiCast vorraussetzt, und das in der virtuellen Umgebung nicht unterstützt ist. Da kannst Du nur ganz wenig machen. Deine Applikation setzt einen Switch vorraus der https://en.wikipedia.org/wiki/IGMP_snooping unterstützt. Der Switch erkennt den IP Multicasttraffic, und kann den IP Traffic auf Layer2 umsetzen und die Gruppenmitglieder dediziert mit IP Traffic versorgen. Wenn der Switch keinen IGMP snooping support hat, dann flutet der Switch den Multicasttraffic aus allen Ports egal ob Gruppenmitglieder der Multicastgruppe dabei sind oder nicht.

Aber wenn es noch nicht einmal unterstützt wird, da weiß man noch nicht einmal ob der virtuelle Switch den nicht erkannten Multicast Traffic aus allen Port flutet, oder einfach den Traffic dropt.
plipMan hat geschrieben: ↑ zum Beitrag ↑
08.11.2021 10:35:56
Das ist korrekt. Danke für den Hinweis.

Ich habe das Snooping wie in dem Beitrag beschrieben zu deaktivieren, in dem ich vor dem "br0 up" Kommando folgenden Befehl absetze:

Code: Alles auswählen

sudo echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
Leider hat das keinen Effekt.

Antworten