Tunnels IP
Un tunnel IP est un canal de communication qui peut être créé à l’aide de technologies d’encapsulation entre deux réseaux dépourvus de chemin de routage. Chaque paquet IP partagé entre les deux réseaux est encapsulé dans un autre paquet puis envoyé via le tunnel.
L’appliance NetScaler implémente le tunneling IP de la manière suivante :
-
NetScaler en tant qu’encapsulateur (équilibrage de charge avec mode DSR) : imaginez une organisation qui possède plusieurs centres de données dans différents pays, où le NetScaler peut se trouver au même endroit et les serveurs principaux dans un autre pays. En substance, NetScaler et les serveurs principaux se trouvent sur des réseaux différents et sont connectés via un routeur.
Lorsque vous configurez Direct Server Return (DSR) sur ce NetScaler, le paquet envoyé depuis le sous-réseau source est encapsulé par le NetScaler et envoyé via un routeur et un tunnel au serveur principal approprié. Le serveur principal désencapsule le paquet et répond directement au client, sans autoriser le paquet à passer via NetScaler.
-
NetScaler en tant que désencapsulateur : imaginez une organisation possédant plusieurs centres de données dotés chacun de NetScaler et de serveurs principaux. Lorsqu’un paquet est envoyé du centre de données A au centre de données B, il est généralement envoyé via un intermédiaire, par exemple un routeur ou un autre NetScaler. NetScaler traite le paquet puis le transmet au serveur principal. Toutefois, si un paquet encapsulé est envoyé, NetScaler doit être en mesure de le désencapsuler avant de l’envoyer aux serveurs principaux. Pour permettre au NetScaler de fonctionner comme un désencapsulateur, un tunnel est ajouté entre le routeur et le NetScaler. Lorsque le paquet encapsulé, avec des informations d’en-tête supplémentaires, atteint NetScaler, le paquet de données est désencapsulé, c’est-à-dire que les informations d’en-tête supplémentaires sont supprimées, puis le paquet est transmis aux serveurs principaux appropriés.
Le NetScaler peut également être utilisé comme désencapsuleur pour la fonctionnalité d’équilibrage de charge, en particulier dans les scénarios où le nombre de connexions sur un vserver dépasse une valeur seuil et où toutes les nouvelles connexions sont ensuite redirigées vers un vserver de sauvegarde.
La fonctionnalité IP Tunnel est disponible avec une licence NetScaler Premium Edition. Pour plus d’informations sur les licences de l’édition NetScaler et la matrice des fonctionnalités de NetScaler, consultez la fiche technique de NetScalerEditions.
Configuration des tunnels IP
La configuration de tunnels IP sur une appliance NetScaler consiste à créer des entités de tunnel IP. Une entité de tunnel IP spécifie les adresses IP des points de terminaison du tunnel local et distant et le protocole à utiliser pour le tunnel IP.
Remarque : lors de la configuration d’un tunnel IP dans une configuration de cluster, l’adresse IP locale doit être une adresse SNIP entrelacée.
Procédures CLI
Pour créer un tunnel IP à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- **add iptunnel** <name> <remote> <remoteSubnetMask> <local> -**type** -**protocol** (**ipoverip** | **GRE**)
- show iptunnel
Pour supprimer un tunnel IP à l’aide de l’interface de ligne de commande :
Pour supprimer un tunnel IP, tapez la commande rm iptunnel et le nom du tunnel.
Pour créer un tunnel IPv6 à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- add ip6tunnel <name> <remoteIp> <local>
- show ip6tunnel
Pour supprimer un tunnel IPv6 à l’aide de l’interface de ligne de commande :
Pour supprimer un tunnel IPv6, tapez la commande rm ip6tunnel et le nom du tunnel.
Procédures GUI
Pour créer un tunnel IP à l’aide de l’interface graphique :
Accédez à Système > Réseau > Tunnels IP, ajoutez un nouveau tunnel IP.
Pour créer un tunnel IPv6 à l’aide de l’interface graphique :
Accédez à Système > Réseau > Tunnels IP > Tunnels IPv6et ajoutez un nouveau tunnel IPv6.
Personnalisation des tunnels IP à l’échelle mondiale
En spécifiant globalement l’adresse IP source, vous pouvez attribuer une adresse IP source commune à tous les tunnels. De plus, étant donné que la fragmentation sollicite beaucoup le processeur, vous pouvez spécifier globalement que l’appliance NetScaler supprime tout paquet nécessitant une fragmentation. Sinon, si vous souhaitez fragmenter tous les paquets tant qu’une valeur seuil de processeur n’est pas atteinte, vous pouvez spécifier la valeur de seuil de processeur de manière globale.
Procédures CLI
Pour personnaliser globalement les tunnels IP à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
-
**set ipTunnelParam** -**srcIP** <sourceIPAddress> -**srcIPRoundRobin** ( **YES** | **NO** )-**dropFrag** [**YES** | **NO**] -**dropFragCpuThreshold** <Positive integer>
-
show ipTunnelParam
Exemple :
> set iptunnelparam –srcIP 12.12.12.22 -dropFrag Yes –dropFragCpuThreshold 50
Done
> set iptunnelparam -srcIPRoundRobin YES -dropFrag Yes –dropFragCpuThreshold 50
Done
<!--NeedCopy-->
Pour personnaliser globalement les tunnels IPv6 à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
-
**set ip6tunnelparam** -**srcIP** <IPv6Address> -**srcIPRoundRobin** ( **YES** | NO )-**dropFrag** [**YES** | **NO**] -**dropFragCpuThreshold** <Positive integer>
-
show ip6tunnelparam
Procédures GUI
Pour personnaliser globalement les tunnels IP à l’aide de l’interface graphique :
Accédez à Système > Réseau, dans le groupe Paramètres, cliquez sur Paramètres globaux du tunnel IPv4 .
- Accédez à Système > Réseau, dans le groupe Paramètres, cliquez sur Paramètres globaux du tunnel IPv6.
- Dans la boîte de dialogue Configurer les paramètres globaux du tunnel IP, définissez les paramètres.
Pour personnaliser globalement les tunnels IPv6 à l’aide de l’interface graphique :
- Accédez à Système > Réseau, dans le groupe Paramètres, cliquez sur Paramètres globaux du tunnel IPv6.
- Dans la boîte de dialogue Configurer les paramètres globaux du tunnel IP, définissez les paramètres.
Options de charge utile GRE dans un tunnel IP GRE
Pour un tunnel IP GRE configuré, l’appliance NetScaler encapsule l’intégralité du paquet de couche 2, y compris l’en-tête Ethernet et l’en-tête VLAN (balise VLAN dot1q). Les tunnels IP GRE entre les appliances NetScaler et certains appareils tiers peuvent ne pas être stables, car ces appareils tiers ne sont pas programmés pour traiter certains en-têtes de paquets de couche 2. Pour configurer un tunnel GRE IP stable entre une appliance NetScaler et un appareil tiers, vous pouvez utiliser le paramètre de charge utile GRE du jeu de commandes du tunnel IP GRE. Le paramètre de charge utile GRE peut également être appliqué à un GRE avec tunnel IPSec.
Vous pouvez définir le paramètre de charge utile GRE pour effectuer l’une des opérations suivantes avant que le paquet ne soit envoyé via le tunnel GRE :
-
Ethernet avec DOT1Q. Transportez l’en-tête Ethernet ainsi que l’en-tête VLAN. C’est le réglage par défaut. Pour un tunnel lié à un pont réseau, l’en-tête Ethernet interne et l’en-tête VLAN contiennent des informations provenant de l’ARP et de la table des ponts de l’appliance NetScaler. Pour un tunnel défini comme saut suivant vers une règle PBR, l’adresse MAC de destination Ethernet interne est définie sur zéro et l’en-tête du VLAN spécifie le VLAN par défaut. Le paquet encapsulé (GRE) envoyé depuis le point de terminaison du tunnel NetScaler a le format suivant :
-
Ethernet. Transportez l’en-tête Ethernet mais supprimez l’en-tête VLAN. Étant donné que les paquets ne transportent aucune information VLAN dans le tunnel, pour un tunnel doté de ce paramètre et lié à un netbridge, vous devez lier un VLAN approprié au netbridge afin que, lors de la réception de paquets sur le tunnel, NetScaler puisse transférer ces paquets vers le VLAN spécifié. Si le tunnel est défini comme saut suivant dans une règle PBR, NetScaler achemine les paquets reçus sur le tunnel. Le paquet encapsulé (GRE) envoyé depuis le point de terminaison du tunnel NetScaler a le format suivant :
-
IP. Supprimez l’en-tête Ethernet ainsi que l’en-tête VLAN. Comme les tunnels dotés de ce paramètre ne comportent pas d’en-têtes de couche 2, ils ne peuvent pas être liés à un netbridge mais peuvent être définis comme saut suivant dans une règle PBR. Lors de la réception du paquet, le terminal du tunnel homologue le consomme ou l’achemine. Le paquet encapsulé (GRE) envoyé depuis le point de terminaison du tunnel NetScaler a le format suivant :
Pour supprimer les en-têtes de couche 2 de paquets dans un tunnel IP GRE à l’aide de l’interface de ligne de commande :
- add ipTunnel <name> <remote> <remoteSubnetMask> <local> [-**protocol** \<GRE> [-**vlan** \<positive_integer>]] [-**grepayload** \<grepayload>] [-**ipsecProfileName** \<string>]
- show iptunnel <tunnelname>
Exemple :
> 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-->
Trafic IPv6 via les tunnels IPV4 GRE
L’appliance NetScaler prend en charge le transfert du trafic IPv6 via un tunnel GRE IPV4. Cette fonctionnalité peut être utilisée pour permettre la communication entre des réseaux IPv6 isolés sans mettre à niveau l’infrastructure IPv4 entre eux.
Pour configurer cette fonctionnalité, vous associez une règle PBR6 au tunnel GRE IPv4 configuré via lequel vous souhaitez que NetScaler envoie et reçoive du trafic IPv6. Les paramètres d’adresse IPv6 source et d’adresse IPv6 de destination de la règle PBR6 spécifient les réseaux IPv6 dont le trafic doit traverser le tunnel GRE IPv4.
Remarque : le protocole IPsec n’est pas pris en charge sur les tunnels IPv4 GRE configurés pour transférer des paquets IPv6.
Pour créer un tunnel IPv4 GRE à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- add ipTunnel <name> <remote> <remoteSubnetMask> <local> -protocol GRE
- show ipTunnel <name>
Pour associer une règle PBR6 à un tunnel IPv4 GRE à l’aide de l’interface de ligne de commande :
- add ns pbr6 <pbrName> ALLOW -srcIPv6 <network-range> -dstIPv6 <network-range> -ipTunnel <tunnelName>
- show pbr
Exemple de configuration
Dans l’exemple de configuration suivant, le tunnel IP GRE Tunnel-v6ONv4 est créé avec l’adresse IP du point de terminaison du tunnel distant 10.10.6.30 et l’adresse IP du point de terminaison du tunnel local 10.10.5.30. Le tunnel est ensuite lié à pbr6 PBR6-v6onv4. Le Srcipv6 spécifie le réseau IPv6 connecté au point de terminaison local et DestIPv6 spécifie le réseau IPv6 connecté au point de terminaison distant. Le trafic provenant de ces réseaux IPv6 est autorisé à traverser le tunnel IPv4 GRE.
> 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-->
Envoyer le trafic de réponse via un tunnel IP-IP
Vous pouvez configurer une appliance NetScaler pour envoyer le trafic de réponse via un tunnel IP-IP au lieu de le rediriger vers la source. Par défaut, lorsque l’appliance reçoit une demande d’un autre NetScaler ou d’un appareil tiers via un tunnel IP-IP, elle achemine le trafic de réponse au lieu de l’envoyer via le tunnel. Vous pouvez utiliser des routes basées sur des stratégies (PBR) ou activer le transfert basé sur Mac (MBF) pour envoyer la réponse via le tunnel.
Dans une règle PBR, spécifiez les sous-réseaux aux deux extrémités dont le trafic doit traverser le tunnel. Définissez également le saut suivant comme nom du tunnel. Lorsque le trafic de réponse correspond à la règle PBR, l’appliance NetScaler envoie le trafic via le tunnel.
Vous pouvez également activer MBF pour répondre à cette exigence, mais la fonctionnalité est limitée au trafic pour lequel l’appliance NetScaler stocke les informations de session (par exemple, le trafic lié à l’équilibrage de charge ou aux configurations RNAT). L’appliance utilise les informations de session pour envoyer le trafic de réponse via le tunnel.
Procédures CLI
Pour créer une règle PBR et y associer le tunnel IP-IP à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- 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>
Pour activer le transfert basé sur Mac à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- activer le mode NS MBF
- afficher le mode ns
Procédures GUI
Pour créer une règle PBR et y associer le tunnel IP-IP à l’aide de l’interface graphique :
- Accédez à Système > Réseau > PBR. Sous l’onglet PBR, créez une règle PBR .
- Lors de la création du PBR, définissez le type de saut suivant sur le tunnel IP et le nom du tunnel IP sur le nom du tunnel IP-IP configuré.
Pour activer le transfert basé sur Mac à l’aide de l’interface graphique :
- Accédez à Système > Paramètres, dans Modes et fonctionnalités, cliquez sur Configurer les modes .
- Sur la page Configurer les modes, sélectionnez Transfert basé sur Mac .
Exemple de configuration
Prenons l’exemple d’un tunnel IPIP, NS1-NS2-IPIP, qui est configuré entre deux appliances NetScaler NS1 et NS2.
Par défaut, pour toute demande que NS2 reçoit via le tunnel, il achemine le trafic de réponse vers la source au lieu de l’envoyer (à NS1) via le tunnel.
Vous pouvez configurer des routes basées sur des stratégies (PBR) ou activer le transfert basé sur Mac (MBF) sur NS2 pour lui permettre d’envoyer la réponse via le tunnel.
Dans l’exemple de configuration suivant sur NS2, NS1-NS2-IPIP est un tunnel IPIP et NS1-NS2-IPIP-PBR est une règle PBR. Pour les demandes (avec une adresse IP source interne comprise entre 10.102.147.0-10.102.147.255 et une adresse IP de destination interne comprise entre 10.102.147.0-10.102.147.255) reçues par NS2 via le tunnel, NS2 envoie la réponse correspondante via le tunnel (à NS1) au lieu de l’acheminer vers la source. La fonctionnalité est limitée au trafic correspondant à la règle PBR.
> 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-->
Vous pouvez également activer MBF sur NS2. La fonctionnalité est limitée au trafic pour lequel NS2 stocke les informations de session (par exemple, le trafic lié à l’équilibrage de charge ou aux configurations RNAT).
> enable ns mode MBF
Done
<!--NeedCopy-->