Ich teste eine Implementierung eines Protokolls, das zwischen zwei Computern über Ethernet kommuniziert (nicht IP). Um nicht wirklich zwei physische Computer zu haben, möchte ich zwei virtuelle Ethernet-Schnittstellen erstellen. Diese wären nur in der Lage, miteinander zu sprechen, so dass ein Endpunktprogramm an eine Schnittstelle binden würde und der andere Endpunkt sich an die andere binden würde.Wie erstelle ich virtuelle Ethernet-Geräte in Linux?
Ist das möglich und wie mache ich das?
Das ist einfach und effektiv für das, was ich brauche, danke –
Dieses Beispiel funktioniert nicht: Der gesamte Datenverkehr läuft über die 'lo'-Schnittstelle, wie mit' tcpdump 'gesehen werden kann.Möglicherweise stellen Sie auch fest, dass beide Tap-Schnittstellen noch nicht aktiv sind. Nach dem Aufrufen arbeitet tcpdump auf den Tap-Interfaces, zeigt aber überhaupt keinen Traffic auf ihnen. Der Linux-Kernel verwendet die lokale Routing-Tabelle (siehe 'ip route show table local'), um herauszufinden, dass diese IPs lokal sind und die Pakete nur lokal routen, ohne 'vde_switch' zu verwenden. Nachdem ich all das gesagt habe, habe ich noch keinen Weg gefunden, eine socat-Verbindung _through_ vde_switch herzustellen und Schnittstellen zu antippen. –