Ich hatte das Problem, dass ich einen Hub zur Netzwerkdiagnose benötigte. Leider war es mir nicht möglich, einen HUB aufzutreiben und auch ein managebarer Switch mit Port-Mirroring-Funktion stand mir nicht zur Verfügung. Die Lösung war: ein Rechner, 3 Netzwerkkarten und ein (Debian-)Linux
Zuerst habe ich eine Netzwerkbrücke eingerichtet.
Dazu war die Installation der bridge-utils notwendig.
1 |
>#> aptitude install bridge-utils |
Danach habe ich unter „/etc/network/interfaces“ die Einträge für die ‚eth0‘ ausgehasht und einen neuen Eintrag für die Bridge (br0) erzeugt.
1 2 3 4 5 6 |
auto br0 iface br0 inat static address <ipadresse> netmask <netzadresse> gateway <ipadresse-router> bridge_ports all |
„bridge_ports all“ bindet alle verfügbaren Netzwerkkarten in diese Bridge ein.
Nach einem Neustart des Rechners (oder mit ifup) ist die Bridge verfügbar.
Zur Kontrolle:
1 2 3 4 5 |
#> brctl show bridge name bridge id STP enabled interfaces br0 8000.00248cca4r2af no eth0 eth1 eth2 |
Das Problem ist nun noch, dass die Bridge die Pakete an den jeweiligen Port forwardet, so dass die Funktionsweise einem Switch gleicht.
Mit dem Befehl
1 |
#> brctl setageing br0 0 |
wird der Bridge mitgeteilt, dass jede MAC-Adresse ignoriert (oder besser: sofort vergessen) werden soll. Dadurch ist ein gezieltes forwarden von Paketen nicht mehr möglich und der Traffic wird an alle Netzwerkkarten weitergegeben, was das Verhalten in das eines HUB´s ändert.
NACHTRAG:
Zusätzlich kann man bei ifconfig
mit „-arp“ das Zuordnen von IP-Adressen zu MAC-Adressen abschalten (ifconfig: „arp“ = Option aktiviert / „-arp“ = Option deaktiviert)
Desweiteren gibt es die Möglichkeit die Netzwerkkarten in einen „promiskuösen“ Modus zu setzten. Dies hat zur Folge, dass die Netzwerkschnittstelle alle Pakete empfängt, auch wenn sie nicht für den Host bestimmt sind.
Unter ifconfig
kann diese Option mit „promisc“ aktiviert werden (ifconfig: „promisc“ = Option aktiviert / „-promisc“ = Option deaktiviert).