Netzwerk

Port Mirroring mit vDS

Heute erreichten mich Fragen zum Port Mirroring mit vDS ( virtual Distributed Switch ).

Mein Kunde fragte mich, ob

1)Ports von verschiedenen VMs (mehrere VMs im Cluster) auf eine physikalische NIC  gespiegelt werden können, um dort durch eine externe Appliance Auswertungen vornehmen zu können.

Ja, das geht. Wobei man hier explizit erwähnen muss, dass genaugenommen die physikalische NIC, auf die gespiegelt wird, nicht die NIC des externen Analyzer Systems ist, sondern der/die Uplinks des vDS, also respektive die physikalischen NICs des/der ESXi Hosts.

Nun kommt es ausserdem genau auf das Szenario an.

Es gibt im Prinzip drei Szenarien:

1. Der Analyzer, also dort wo der Sniffer ( bspw. tcpdump ) installiert ist, ist auf dem gleichen ESXi Host (SPAN) – das trifft in diesem Falle nicht zu. Nachteil wäre hier auch, dass nach einer Migration eines/der Hosts mittels  vMotion das Port mirroring nicht mehr funktionieren würde.

2. Der Analyzer befindet sich ausserhalb des ESXi Hosts, ist aber direkt mit dem Uplink ( bspw. dvUplink1 = vmnic1 ) verbunden ( SPAN ).

3. Der Analyzer ist weiter entfernt ( auf einem anderen Ziel Host im Netz ) und ist über einen oder mehrere physikalische/n Switch/es mit dem Quell ESXi Hosts verbunden (RSPAN L2).

Das letztere Szenario entspricht der Kundenfrage. Hier kann man unterscheiden zwischen dem Remote Port Mirroring über physikalische Switche

a) zu einem anderen Analyzer Rechner ( Linux PC bspw. auf dem tcpdump läuft ), oder

b) zu einer VM auf einem anderen ESXi Host. Der Unterschied zwischen diesen beiden Varianten besteht vor allem in der Auswahl des Port Mirroring Session Typs bei der Konfiguration. Im Fall a) ist es Remote Mirroring Source; im Fall b) ist es Remote Mirroring Destination.

Zum ersten Fall, dasist unser Fall,  wird hier die Vorgehensweise detailliert beschrieben: http://blogs.vmware.com/vsphere/2013/02/vsphere-5-1-vds-feature-enhancements-port-mirroring-part-2.html#more-7081

Zum zweiten Fall eine Analyzer VM auf dem ESXi Host A: http://blogs.vmware.com/vsphere/2013/02/vsphere-5-1-vds-feature-enhancements-port-mirroring-part-3.html

Anmerkung: Bitte stören Sie sich nicht daran, dass hier vSphere 5.1 steht, das hat sich in 5.5 und auch 6.0 grundlegend nicht geändert.

In beiden Fällen ist es notwendig für das RSPAN ein VLAN ( encapsulated ) einzurichten, damit der Traffic über die physikalischen Switches transportiert werden kann. Das heisst, die Switches müssen dafür supported sein, und eingerichtet werden.

Die Frage 2) lautete: Die physikalische NIC, auf die gespiegelt wird, befindet sich dabei z.B. auf dem Host A (Ziel), die zu überwachende VM auf dem Host B ( Quelle ). Kann über den vDS zur physikalischen NIC, die sich auf dem Host A befindet, gespiegelt werden?

Die Antwortet lautet: Nein, nicht direkt.

Das Verfahren ist so: die virtuellen Ports, die gespiegelt werden sollen ( im Beispiel Host B und alle VMs und deren vDS ports) stellen die Quelle da. Das Ziel für das Port mirroring ist nicht der Analyzer Host A und dessen physikalische NIC, sondern die physikalische/n NIC/s auf den ESXI Hosts im Cluster B, nämlich der/die im vDS konfigurierten und verfügbaren vDS Uplink/s.

Diese Uplinks sind via der physikalischen Netzwerkkarte des HOST B ( bspw. vmnic1 ) mit einem Port im physikalischen Switch verbunden, an dem auch der Analyzer (auf dem Host A oder auch als Host A ) über seinen verbunden Switchport hängt; ODER der Analyzer ( Host A ) ist hinter einem weiteren Switch gebunden, und dieser Switch hängt an dem ersten Switch.

Damit nun die Netzwerkpakete auch den Analyzer erreichen können, müssen in jedem Falle die Switches vorbereitet werden. (Sehen Sie dazu bitte die oberen Links). Dazu wird bei der Konfiguration des Port Mirroring auf dem vDS eine Encapsulation VLAN ID unter Properties angegeben ( man sollte ausserdem die Checkbox „Preserve original VLAN “ aktivieren ). Diese VLAN ID entspricht natürlich dann der VLAN ID die man auf seinen physikalischen Switches als RSPAN VLAN anlegt. Folgen Sie dazu den Instruktionen Ihres Switch-Herstellers.

Und die letzte Frage lautete: 3) Wenn alles so möglich ist,  welche Einschränkungen gibt es im vMotion Szenario? Ist zum Beispiel mit Paketverlusten zu rechnen?

Die einzelnen vMotion Szenarien werden in der Dokumentation beschrieben ( also welcher Host wird gerade mit vMotion migriert, die Port Mirroring Quelle oder das Port Mirroring Ziel ) und welcher Session Type wird  verwendet.

https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.networking.doc%2FGUID-2F27BE7A-6193-4ADE-88F0-238589712728.html

Anhand der Tabelle im o.g. Link wird deutlich, dass der Port Mirroring Session Typ eine Rolle spielt bezüglich vMotion.

In einer SPAN Konfiguration ( Spiegelung verteilter Ports auf einem lokalen Host ) funktioniert das Port Mirroring gar nicht mehr, wenn mittels vMotion einer der VMs ( Quelle oder Ziel )  auf einen anderen Host migriert wurde.

Bei den Session Typen Remotespiegelungsquelle ( im Englischen: Remote Mirroring Source ) und Remotespiegelungsziel ( Remote Mirroring Destination ), beides RSPAN wird der alte Spiegelungspfad entfernt und auf dem neuen Host nach Abschluss von vMotion neu erstellt, bzw. vom alten Host auf den neuen Host verschoben. Es gibt also auch hier einen Unterschied!

Daher kann während des vMotion Vorganges der Spiegelpfad und damit auch das Port mirroring vorübergehend ungültig werden, und die Pakete können dann während dieses Vorgangs auch nicht zugestellt werden.

Es gibt noch eine 4. Variante, nämlich ERSPAN L3, hier kann man eine oder mehrere Port Quelle/n zu einer IP Adresse im Netz spiegeln.

Zum Schluss noch eine Empfehlung von mir:

Dieses kurze Video sollten Sie sich anschauen, da wird der Vorgang sehr gut aufgezeichnet.

https://www.youtube.com/watch?v=RUS1mUw9JaE

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s