IP-Tunnel
Ein IP-Tunnel ist ein Kommunikationskanal, der mithilfe von Kapselungstechnologien zwischen zwei Netzwerken, die keinen Routingpfad haben, erstellt werden kann. Jedes IP-Paket, das von den beiden Netzwerken gemeinsam genutzt wird, wird in ein anderes Paket gekapselt und dann über den Tunnel gesendet.
Die NetScaler Appliance implementiert IP-Tunneling auf folgende Weise:
-
NetScaler als Encapsulator (Load Balancing mit DSR-Modus): Stellen Sie sich eine Organisation vor, die über mehrere Rechenzentren in verschiedenen Ländern verfügt, wobei sich der NetScaler möglicherweise an einem Standort befindet und sich die Backend-Server in einem anderen Land befinden. Im Wesentlichen befinden sich der NetScaler und die Backend-Server in unterschiedlichen Netzwerken und sind über einen Router verbunden.
Wenn Sie Direct Server Return (DSR) auf diesem NetScaler konfigurieren, wird das vom Quellsubnetz gesendete Paket vom NetScaler gekapselt und über einen Router und einen Tunnel an den entsprechenden Backend-Server gesendet. Der Backend-Server entkapselt das Paket und antwortet direkt an den Client, ohne dass das Paket über den NetScaler übertragen wird.
-
NetScaler als Entkapseler: Stellen Sie sich ein Unternehmen vor, das über mehrere Rechenzentren verfügt, von denen jedes über NetScaler und Backend-Server verfügt. Wenn ein Paket von Rechenzentrum A an Rechenzentrum B gesendet wird, wird es normalerweise über einen Vermittler gesendet, beispielsweise einen Router oder einen anderen NetScaler. Der NetScaler verarbeitet das Paket und leitet es dann an den Backend-Server weiter. Wenn jedoch ein gekapseltes Paket gesendet wird, muss der NetScaler in der Lage sein, das Paket zu entkapseln, bevor es an die Backend-Server gesendet wird. Damit der NetScaler als Entkapseler fungieren kann, wird ein Tunnel zwischen dem Router und dem NetScaler hinzugefügt. Wenn das gekapselte Paket mit zusätzlichen Header-Informationen den NetScaler erreicht, wird das Datenpaket entkapselt, d. h. die zusätzlichen Header-Informationen werden entfernt, und das Paket wird dann an die entsprechenden Back-End-Server weitergeleitet.
Der NetScaler kann auch als Entkapselung für die Load Balancing-Funktion verwendet werden, insbesondere in Szenarien, in denen die Anzahl der Verbindungen auf einem vServer einen Schwellenwert überschreitet und alle neuen Verbindungen dann an einen Backup-vserver umgeleitet werden.
Die IP-Tunnel-Funktion ist mit einer NetScaler Premium Edition-Lizenz verfügbar. Weitere Informationen zu NetScaler Editionslizenzen und der NetScaler-Funktionsmatrix finden Sie im Datenblatt zu NetScaler Editions.
IP-Tunnel konfigurieren
Die Konfiguration von IP-Tunneln auf einer NetScaler Appliance besteht aus der Erstellung von IP-Tunnelentitäten. Eine IP-Tunnelentität gibt die lokalen und externen Tunnelendpunkt-IP-Adressen sowie das für den IP-Tunnel zu verwendende Protokoll an.
Hinweis: Bei der Konfiguration eines IP-Tunnels in einem Cluster-Setup muss es sich bei der lokalen IP-Adresse um eine Striped SNIP-Adresse handeln.
CLI-Verfahren
So erstellen Sie einen IP-Tunnel mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- **add iptunnel** <name> <remote> <remoteSubnetMask> <local> -**type** -**protocol** (**ipoverip** | **GRE**)
- show iptunnel
So entfernen Sie einen IP-Tunnel mithilfe der CLI:
Um einen IP-Tunnel zu entfernen, geben Sie den Befehl rm iptunnel und den Namen des Tunnels ein.
So erstellen Sie einen IPv6-Tunnel mit der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- ip6-Tunnel hinzufügen <name><remoteIp><local>
- ip6-Tunnel anzeigen
So entfernen Sie einen IPv6-Tunnel mithilfe der CLI:
Um einen IPv6-Tunnel zu entfernen, geben Sie den Befehl rm ip6tunnel und den Namen des Tunnels ein.
GUI-Verfahren
So erstellen Sie einen IP-Tunnel mit der GUI:
Navigieren Sie zu System > Netzwerk > IP-Tunnelund fügen Sie einen neuen IP-Tunnel hinzu.
So erstellen Sie einen IPv6-Tunnel mit der GUI:
Navigieren Sie zu System > Netzwerk > IP-Tunnel > IPv6-Tunnelund fügen Sie einen neuen IPv6-Tunnel hinzu.
Weltweites Anpassen von IP-Tunneln
Durch die globale Angabe der Quell-IP-Adresse können Sie allen Tunneln eine gemeinsame Quell-IP-Adresse zuweisen. Da die Fragmentierung CPU-intensiv ist, können Sie außerdem global angeben, dass die NetScaler Appliance jedes Paket löscht, das fragmentiert werden muss. Wenn Sie alternativ alle Pakete fragmentieren möchten, solange ein CPU-Schwellenwert nicht erreicht wird, können Sie den CPU-Schwellenwert global angeben.
CLI-Verfahren
So passen Sie IP-Tunnel mithilfe der CLI global an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
-
**set ipTunnelParam** -**srcIP** <sourceIPAddress> -**srcIPRoundRobin** ( **YES** | **NO** )-**dropFrag** [**YES** | **NO**] -**dropFragCpuThreshold** <Positive integer>
-
show ipTunnelParam
Beispiel:
> set iptunnelparam –srcIP 12.12.12.22 -dropFrag Yes –dropFragCpuThreshold 50
Done
> set iptunnelparam -srcIPRoundRobin YES -dropFrag Yes –dropFragCpuThreshold 50
Done
<!--NeedCopy-->
So passen Sie IPv6-Tunnel mithilfe der CLI global an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
-
**set ip6tunnelparam** -**srcIP** <IPv6Address> -**srcIPRoundRobin** ( **YES** | NO )-**dropFrag** [**YES** | **NO**] -**dropFragCpuThreshold** <Positive integer>
-
show ip6tunnelparam
GUI-Verfahren
So passen Sie IP-Tunnel mithilfe der GUI global an:
Navigieren Sie zu System > Netzwerk und klicken Sie in der Gruppe Einstellungen auf Globale IPv4-Tunneleinstellungen.
- Navigieren Sie zu System > Netzwerk und klicken Sie in der Gruppe Einstellungen auf Globale IPv6-Tunneleinstellungen.
- Stellen Sie im Dialogfeld Globale IP-Tunnelparameter konfigurieren die Parameter ein.
So passen Sie IPv6-Tunnel mithilfe der GUI global an:
- Navigieren Sie zu System > Netzwerk und klicken Sie in der Gruppe Einstellungen auf Globale IPv6-Tunneleinstellungen.
- Stellen Sie im Dialogfeld Globale IP-Tunnelparameter konfigurieren die Parameter ein.
GRE-Payload-Optionen in einem GRE-IP-Tunnel
Für einen konfigurierten GRE-IP-Tunnel kapselt die NetScaler Appliance das gesamte Layer-2-Paket, einschließlich des Ethernet-Headers und des VLAN-Headers (dot1q VLAN-Tag). IP-GRE-Tunnel zwischen NetScaler-Appliances und einigen Geräten von Drittanbietern sind möglicherweise nicht stabil, da diese Geräte von Drittanbietern nicht für die Verarbeitung einiger Layer-2-Paketheader programmiert sind. Um einen stabilen IP-GRE-Tunnel zwischen einer NetScaler-Appliance und einem Drittanbietergerät zu konfigurieren, können Sie den GRE-Payload-Parameter des GRE-IP-Tunnel-Befehlssatzes verwenden. Die GRE-Payload-Einstellung kann auch auf einen GRE mit IPSec-Tunnel angewendet werden.
Sie können den GRE-Payload-Parameter so einstellen, dass er eine der folgenden Aktionen ausführt, bevor das Paket durch den GRE-Tunnel gesendet wird:
-
Ethernet mit DOT1Q. Tragen Sie den Ethernet-Header sowie den VLAN-Header. Dies ist die Standardeinstellung. Für einen Tunnel, der an eine Netbridge gebunden ist, enthalten der innere Ethernet-Header und der VLAN-Header Informationen aus der ARP- und Bridge-Tabelle der NetScaler Appliance. Für einen Tunnel, der als nächster Hop zu einer PBR-Regel festgelegt ist, wird die innere Ethernet-Ziel-MAC-Adresse auf Null gesetzt und der VLAN-Header gibt das Standard-VLAN an. Das gekapselte (GRE) -Paket, das vom NetScaler-Tunnelendpunkt gesendet wird, hat das folgende Format:
-
Ethernet. Tragen Sie den Ethernet-Header, aber lassen Sie den VLAN-Header fallen. Da die Pakete keine VLAN-Informationen im Tunnel enthalten, müssen Sie für einen Tunnel mit dieser Einstellung, der an eine Netbridge gebunden ist, ein entsprechendes VLAN an die Netbridge binden, damit der NetScaler beim Empfang von Paketen im Tunnel diese Pakete an das angegebene VLAN weiterleiten kann. Wenn der Tunnel als nächster Hop in einer PBR-Regel festgelegt ist, leitet der NetScaler die Pakete weiter, die im Tunnel empfangen werden. Das gekapselte (GRE) -Paket, das vom NetScaler-Tunnelendpunkt gesendet wird, hat das folgende Format:
-
IP. Löschen Sie den Ethernet-Header sowie den VLAN-Header. Da Tunnel mit dieser Einstellung keine Layer-2-Header enthalten, können diese Tunnel nicht an eine Netbridge gebunden werden, sondern können als nächster Hop in einer PBR-Regel festgelegt werden. Das Peer-Tunnel-Endgerät verbraucht das Paket beim Empfang entweder oder leitet es weiter. Das gekapselte (GRE) -Paket, das vom NetScaler-Tunnelendpunkt gesendet wird, hat das folgende Format:
So löschen Sie Layer-2-Header von Paketen in einem GRE-IP-Tunnel mit der CLI:
- add ipTunnel <name> <remote> <remoteSubnetMask> <local> [-**protocol** \<GRE> [-**vlan** \<positive_integer>]] [-**grepayload** \<grepayload>] [-**ipsecProfileName** \<string>]
- iptunnel anzeigen <tunnelname>
Beispiel:
> add iptunnel IPTUNNEL-1 203.0.113.133 255.255.255.0 198.51.100.15 –protocol GRE –grepayload Ethernet -ipsecProfileName IPTUNNEL-IPSEC-1
Done
<!--NeedCopy-->
IPv6-Verkehr durch GRE-IPV4-Tunnel
Die NetScaler Appliance unterstützt die Übertragung von IPv6-Verkehr über einen IPv4-GRE-Tunnel. Diese Funktion kann verwendet werden, um die Kommunikation zwischen isolierten IPv6-Netzwerken zu ermöglichen, ohne die IPv4-Infrastruktur zwischen ihnen zu aktualisieren.
Um diese Funktion zu konfigurieren, verknüpfen Sie eine PBR6-Regel mit dem konfigurierten IPv4-GRE-Tunnel, über den der NetScaler IPv6-Verkehr senden und empfangen soll. Die Quell-IPv6-Adresse und die IPv6-Zieladressenparameter der PBR6-Regel geben die IPv6-Netzwerke an, deren Verkehr den IPv4-GRE-Tunnel durchqueren soll.
Hinweis: Das IPSec-Protokoll wird in GRE-IPv4-Tunneln, die für die Übertragung von IPv6-Paketen konfiguriert sind, nicht unterstützt.
So erstellen Sie einen GRE-IPv4-Tunnel mithilfe der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- add ipTunnel <name> <remote> <remoteSubnetMask> <local> -protocol GRE
- show ipTunnel <name>
So verknüpfen Sie eine PBR6-Regel mithilfe der CLI einem GRE-IPv4-Tunnel:
- add ns pbr6 <pbrName> ALLOW -srcIPv6 <network-range> -dstIPv6 <network-range> -ipTunnel <tunnelName>
- show pbr
Beispiel-Konfiguration
In der folgenden Beispielkonfiguration wird der GRE-IP-Tunnel TUNNEL-V6onV4 mit der IP-Adresse 10.10.6.30 des Remote-Tunnelendpunkts und der IP-Adresse 10.10.5.30 des lokalen Tunnelendpunkts erstellt. Der Tunnel ist dann an pbr6 PBR6-V6onV4 gebunden. Der srciPv6 spezifiziert das IPv6-Netzwerk, das mit dem lokalen Endpunkt verbunden ist, und DestipV6 spezifiziert das IPv6-Netzwerk, das mit dem Remote-Endpunkt verbunden ist. Der Datenverkehr dieser IPv6-Netzwerke darf den GRE-IPv4-Tunnel passieren.
> add ipTunnel TUNNEL-V6onV4 10.10.6.30 255.255.255.255 10.10.5.30 -protocol GRE
-ipsecProfileName None
Done
> add ns pbr6 PBR6-V6onV4 ALLOW -srcIPv6 = 2001:0db8:1::1-2001:0db8:1::255 -destIPv6 =
1-2001:0db8:4::255 -ipTunnel TUNNEL-V6onV4
<!--NeedCopy-->
Senden Sie den Antwortverkehr über einen IP-IP-Tunnel
Sie können eine NetScaler Appliance so konfigurieren, dass Antwortverkehr über einen IP-IP-Tunnel gesendet wird, anstatt ihn zurück an die Quelle weiterzuleiten. Wenn die Appliance eine Anfrage von einem anderen NetScaler oder einem Drittanbietergerät über einen IP-IP-Tunnel empfängt, leitet sie standardmäßig den Antwortverkehr weiter, anstatt ihn durch den Tunnel zu senden. Sie können richtlinienbasierte Routen (PBRs) verwenden oder die MAC-basierte Weiterleitung (MBF) aktivieren, um die Antwort durch den Tunnel zu senden.
Geben Sie in einer PBR-Regel die Subnetze an beiden Endpunkten an, deren Verkehr den Tunnel durchqueren soll. Geben Sie auch den nächsten Hop als Tunnelnamen ein. Wenn der Antwortverkehr der PBR-Regel entspricht, sendet die NetScaler Appliance den Datenverkehr durch den Tunnel.
Alternativ können Sie MBF aktivieren, um diese Anforderung zu erfüllen, aber die Funktionalität ist auf den Datenverkehr beschränkt, für den die NetScaler Appliance Sitzungsinformationen speichert (z. B. Verkehr im Zusammenhang mit Loadbalancing oder RNAT-Konfigurationen). Die Appliance verwendet die Sitzungsinformationen, um den Antwortverkehr durch den Tunnel zu senden.
CLI-Verfahren
Um eine PBR-Regel zu erstellen und ihr den IP-IP-Tunnel mithilfe der CLI zuzuordnen:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- add ns pbr <pbr_name> ALLOW -srcIP = <local_subnet_range> -destIP = <remote_subnet_range> -ipTunnel <tunnel_name>
- apply ns pbrs
- show ns pbr <pbr_name>
So aktivieren Sie die MAC-basierte Weiterleitung mithilfe der CLI:
Geben Sie an der Eingabeaufforderung Folgendes ein:
- enable ns mode MBF
- show ns mode
GUI-Verfahren
PBR-Regel erstellen und ihr den IP-IP-Tunnel mithilfe der GUI zuordnen:
- Navigieren Sie zu System > Netzwerk > PBRs. Erstellen Sie auf der Registerkarte PBRs eine PBR-Regel.
- Stellen Sie beim Erstellen des PBR den Next Hop Type auf IP-Tunnel und den IP-Tunnelnamen auf den konfigurierten IP-IP-Tunnelnamen ein.
So aktivieren Sie die MAC-basierte Weiterleitung mithilfe der GUI:
- Navigieren Sie zu System > Einstellungenund klicken Sie unter Modi und Funktionenauf Modi konfigurieren.
- Wählen Sie auf der Seite Modi konfigurieren die Option MAC-basierte Weiterleitung aus.
Beispielkonfiguration
Betrachten Sie ein Beispiel für einen IPIP-Tunnel, NS1-NS2-IPIP, der zwischen zwei NetScaler-Appliances NS1 und NS2 eingerichtet ist.
Standardmäßig leitet NS2 für jede Anfrage, die NS2 über den Tunnel empfängt, den Antwortverkehr an die Quelle weiter, anstatt ihn (an NS1) durch den Tunnel zu senden.
Sie können richtlinienbasierte Routen (PBRs) konfigurieren oder die MAC-basierte Weiterleitung (MBF) auf NS2 aktivieren, damit die Antwort durch den Tunnel gesendet werden kann.
In der folgenden Beispielkonfiguration auf NS2 ist NS1-NS2-IPIP ein IPIP-Tunnel und NS1-NS2-IPIP-PBR ist eine PBR-Regel. Für Anfragen (mit innerer Quell-IP-Adresse im Bereich 10.102.147.0-10.102.147.255 und innerer Ziel-IP-Adresse im Bereich 10.102.147.0-10.102.147.255), die von NS2 über den Tunnel empfangen werden, sendet NS2 die entsprechende Antwort durch den Tunnel (an NS1), anstatt sie an die Quelle weiterzuleiten. Die Funktionalität ist auf den Datenverkehr beschränkt, der der PBR-Regel entspricht.
> add iptunnel NS1-NS2-IPIP 192.0.2.99 255.255.255.255 203.0.113.99–protocol IPIP
Done
> add pbr NS1-NS2-IPIP-PBR -srcIP 10.102.147.0-10.102.147.255 –destIP 10.20.1.0-10.20.1.255 –ipTunnel NS1-NS2-IPIP
Done
> apply pbrs
Done
<!--NeedCopy-->
Alternativ kann MBF auf NS2 aktiviert werden. Die Funktionalität ist auf den Datenverkehr beschränkt, für den NS2 Sitzungsinformationen speichert (z. B. Datenverkehr im Zusammenhang mit Lastenausgleich oder RNAT Konfigurationen).
> enable ns mode MBF
Done
<!--NeedCopy-->