Citrix ADC

Tunnels IP

Un tunnel IP est un canal de communication, qui peut être créé à l’aide de technologies d’encapsulation, entre deux réseaux qui n’ont pas 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 Citrix ADC implémente le Tunneling IP de la manière suivante :

  • Citrix ADC as a Encapsulator (Load Balancing with DSR Mode) : envisagez une organisation qui possède plusieurs centres de données dans différents pays, où le Citrix ADC peut être situé à un emplacement et les serveurs back-end sont situés dans un pays différent. Essentiellement, le Citrix ADC et les serveurs back-end sont sur différents réseaux et sont connectés via un routeur.

    Lorsque vous configurez Direct Server Return (DSR) sur ce Citrix ADC, le paquet envoyé à partir du sous-réseau source est encapsulé par le Citrix ADC et envoyé via un routeur et un tunnel au serveur principal approprié. Le serveur principal décapsule le paquet et répond directement au client, sans permettre au paquet de passer via Citrix ADC.

  • Citrix ADC en tant que décapsulateur : envisagez une organisation disposant de plusieurs centres de données disposant chacun d’entre eux d’un Citrix ADC et d’un serveur principal. 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, disons un routeur ou un autre Citrix ADC. Citrix ADC traite le paquet, puis transfère le paquet au serveur principal. Toutefois, si un paquet encapsulé est envoyé, Citrix ADC doit être capable de décapsuler le paquet avant de l’envoyer aux serveurs back-end. Pour permettre au Citrix ADC de fonctionner comme un décapsulateur, un tunnel est ajouté entre le routeur et le Citrix ADC. Lorsque le paquet encapsulé, avec des informations d’en-tête supplémentaires, atteint le Citrix ADC, le paquet de données est décapsulé, c’est-à-dire que les informations d’en-tête supplémentaires sont supprimées et le paquet est ensuite transféré aux serveurs back-end appropriés.

    Le Citrix ADC peut également être utilisé comme décapsulateur pour la fonctionnalité d’équilibrage de charge, en particulier dans les scénarios où le nombre de connexions sur un serveur vServer dépasse une valeur seuil et toutes les nouvelles connexions sont ensuite détournées vers un serveur vserver de sauvegarde.

Configurer les tunnels IP

La configuration des tunnels IP sur une appliance Citrix ADC consiste à créer des entités de tunnel IP. Une entité de tunnel IP spécifie les adresses IP locales et distantes du point d’extrémité du tunnel ainsi que 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 par bandes.

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 IPv6 et 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 dans tous les tunnels. En outre, étant donné que la fragmentation nécessite beaucoup de CPU, vous pouvez spécifier globalement que l’appliance Citrix ADC abandonne tout paquet nécessitant une fragmentation. Sinon, si vous souhaitez fragmenter tous les paquets tant qu’une valeur de seuil CPU n’est pas atteinte, vous pouvez spécifier globalement la valeur de seuil CPU.

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

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 .

  1. Accédez à Système > Réseau, dans le groupe Paramètres, cliquez sur Paramètres globaux du tunnel IPv6.
  2. 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 :

  1. Accédez à Système > Réseau, dans le groupe Paramètres, cliquez sur Paramètres globaux du tunnel IPv6.
  2. 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 Citrix ADC encapsule l’ensemble 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 Citrix ADC et certains périphériques tiers peuvent ne pas être stables, car ces périphériques tiers ne sont pas programmés pour traiter certains ou les en-têtes de paquets de couche 2. Pour configurer un tunnel GRE IP stable entre une appliance Citrix ADC et un périphérique tiers, vous pouvez utiliser le paramètre de charge utile GRE du jeu de commandes GRE IP tunnel. 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 l’envoi du paquet via le tunnel GRE :

  • Ethernet avec DOT1Q. Porter 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 réseau netbridge, l’en-tête Ethernet interne et l’en-tête VLAN contiennent des informations provenant de la table ARP et pont de l’appliance Citrix ADC. Pour un tunnel défini comme saut suivant d’une règle PBR, l’adresse MAC de destination Ethernet interne est définie sur zéro et l’en-tête VLAN spécifie le VLAN par défaut. Le paquet encapsulé (GRE) envoyé à partir du point d’extrémité du tunnel Citrix ADC a le format suivant :

    image localisée

  • Ethernet. Portez 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 avec ce paramètre et lié à un netbridge, vous devez lier un VLAN approprié au netbridge afin que, lors de la réception des paquets sur le tunnel, Citrix ADC puisse transférer ces paquets au VLAN spécifié. Si le tunnel est défini comme un saut suivant dans une règle PBR, Citrix ADC achemine les paquets reçus sur le tunnel. Le paquet encapsulé (GRE) envoyé à partir du point d’extrémité du tunnel Citrix ADC a le format suivant :

    image localisée

  • IP. Déposez l’en-tête Ethernet ainsi que l’en-tête VLAN. Étant donné que les tunnels avec ce paramètre ne portent pas d’en-têtes de couche 2, ces tunnels ne peuvent pas être liés à un Netbridge mais peuvent être définis comme un saut suivant dans une règle PBR. Le périphérique de point de terminaison du tunnel homologue lors de la réception du paquet consomme ou l’achemine. Le paquet encapsulé (GRE) envoyé à partir du point d’extrémité du tunnel Citrix ADC a le format suivant :

    image localisée

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

Trafic IPv6 via les tunnels GRE IPV4

L’appliance Citrix ADC prend en charge le transfert du trafic IPv6 via un tunnel IPV4 GRE. Cette fonctionnalité peut être utilisée pour activer 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 Citrix ADC envoie et reçoit 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 IPv4 GRE.

Remarque : le protocole IPsec n’est pas pris en charge sur les tunnels GRE IPv4 configurés pour transférer des paquets IPv6.

Pour créer un tunnel GRE IPv4 à 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 GRE IPv4 à 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 GRE IP 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. 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 GRE IPv4.

> 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

Envoyer le trafic de réponse via un tunnel IP-IP

Vous pouvez configurer une appliance Citrix ADC pour qu’elle envoie le trafic de réponse via un tunnel IP au lieu de le router vers la source. Par défaut, lorsque l’appliance reçoit une demande d’un autre Citrix ADC ou d’un périphérique tiers via un tunnel 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 points d’extrémité 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 Citrix ADC 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 Citrix ADC stocke les informations de session (par exemple, 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 lui 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 :

  • enable ns mode MBF
  • show ns mode

Procédures GUI

Pour créer une règle PBR et lui associer le tunnel IP-IP à l’aide de l’interface graphique :

  1. Accédez à Système > Réseau > PBRS. Sous l’onglet PBR, créez une règle PBR .
  2. Lors de la création du PBR, définissez le type de saut suivant sur tunnel IPet le nom du tunnel IP sur le nom du tunnel IP configuré.

Pour activer le transfert basé sur MAC à l’aide de l’interface graphique :

  1. Accédez à Système > Paramètres, dans Modes et fonctionnalités, cliquez sur Configurer les modes .
  2. Sur la page Configurer les modes, sélectionnez Transfert basé sur MAC .

Exemple de configuration

Prenons un exemple de tunnel IPIP, NS1-NS2-IPIP, qui est configuré entre deux appliances Citrix ADC NS1 et NS2.

Par défaut, pour toute demande que NS2 reçoit via le tunnel, son achemine le trafic de réponse vers la source au lieu de l’envoyer (vers 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 (dont l’adresse IP source interne est comprise entre 10.102.147.0-10.102.147.255 et l’adresse IP de destination interne dans la plage 10.102.147.0-10.102.147.255) reçues par NS2 via le tunnel, NS2 envoie la réponse correspondante via le tunnel (vers 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

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