Cas d’utilisation 7 : Configurer l’équilibrage de charge en mode DSR à l’aide d’IP sur IP
Vous pouvez configurer une appliance Citrix ADC pour qu’elle utilise le mode DSR (Direct Server Return) sur les réseaux de couche 3 à l’aide d’un tunnel IP, également appelé configurationIP sur IP. Comme pour les configurations standard d’équilibrage de charge pour le mode DSR, cela permet aux serveurs de répondre directement aux clients au lieu d’utiliser un chemin de retour via l’appliance Citrix ADC. Cela améliore le temps de réponse et le débit. Comme pour le mode DSR standard, l’appliance Citrix ADC surveille les serveurs et effectue des vérifications de l’état des ports de l’application.
Avec la configuration IP sur IP, l’appliance Citrix ADC et les serveurs n’ont pas besoin de se trouver sur le même sous-réseau de couche 2. Au lieu de cela, l’appliance Citrix ADC encapsule les paquets avant de les envoyer au serveur de destination. Une fois que le serveur de destination reçoit les paquets, il les décapsule, puis envoie ses réponses directement au client. C’est souvent ce que l’on appelle L3DSR.
Pour configurer le mode L3-DSR sur votre appliance Citrix ADC :
- Créez un serveur virtuel d’équilibragede charge. Définissez le mode sur IPTUNNEL et activez le suivi sans session.
- Créez des services. Créez un service pour chaque application principale et liez les services au serveur virtuel.
- Configurez pour la décapsulation. Configurez une appliance Citrix ADC ou un serveur principal pour qu’il agisse en tant que décapsulateur.
Remarque :
Lorsque vous utilisez une appliance Citrix ADC, la configuration de la décapsulation est un tunnel IP entre les appliances ADC, le backend exécutant L2DSR vers les vrais serveurs.
配置联合国serveur virtuel d 'equilibrage de魅力rge
Configurez un serveur virtuel pour traiter les demandes adressées à vos applications. Attribuez le type de service correspondant au service ou utilisez un type de ANY pour plusieurs services. Définissez la méthode de transfert sur IPTUNNEL et permettez au serveur virtuel de fonctionner en mode sans session. Configurez n’importe quelle méthode d’équilibrage de charge que vous souhaitez utiliser.
倒认为外星人配置联合国serveur virtuel d 'equilibrage de charge pour DSR IP sur IP à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez la commande suivante pour configurer un serveur virtuel d’équilibrage de charge pour DSR IP sur IP et vérifier la configuration :
add lb vserver serviceType IPAddress Port -lbMethod -m -sessionless [ENABLED | DISABLED] show lb vserver
Exemple :
Dans l’exemple suivant, nous avons sélectionné la méthode d’équilibrage de charge en tant que SourceIphash et configuré l’équilibrage de charge sans session.
add lb vserver Vserver-LB-1 ANY 1.1.1.80 * -lbMethod SourceIPHash -m IPTUNNEL -sessionless ENABLED
倒认为外星人配置联合国serveur virtuel d 'equilibrage de charge pour DSR IP sur IP à l’aide de l’interface graphique
- Accédez àGestion du trafic > Équilibrage de charge > Serveurs virtuels.
- Créez un serveur virtuel et spécifiez le mode de redirection comme étantbasé sur le tunnel IP.
Configurer les services pour le DSR IP sur IP
Après avoir créé votre serveur à charge équilibrée, configurez un service pour chacune de vos applications. Le service gère le trafic entre l’appliance Citrix ADC et ces applications et permet à l’appliance Citrix ADC de surveiller l’intégrité de chaque application.
Affectez les services à utiliser le mode USIP et liez un moniteur de type IPTUNNEL au service pour une surveillance basée sur un tunnel.
Pour créer et configurer un service pour DSR IP sur IP à l’aide de l’interface de ligne de commande
l 'invite de命令,tapez les命令suivantes pour créer un service et éventuellement, créer un moniteur et le lier au service :
add service -usip add monitor -destip -iptunnel bind service -monitorName
Exemple :
Dans l’exemple suivant, un moniteur de type IPTUNNEL est créé.
add monitor mon_DSR PING -destip 1.1.1.80 -iptunnel yes add service svc_DSR01 2.2.2.100 ANY * -usip yes bind service svc_DSR01 -monitorName mon_DSR
Une autre approche pour simplifier le routage au niveau du serveur et de l’appliance ADC consiste à configurer l’ADC et le serveur pour qu’ils utilisent une adresse IP provenant du même sous-réseau. Cela garantit que tout trafic ayant une destination d’un point de terminaison de tunnel est envoyé au-dessus du tunnel. Dans cet exemple, 10.0.1.0/30 est utilisé.
Remarque :
Le but du moniteur est de s’assurer que le tunnel est actif en atteignant le bouclage de chaque serveur via le tunnel IP. Si le service n’est pas en service, vérifiez si le routage IP externe entre ADC et le serveur est bon. Vérifiez également si les adresses IP internes sont accessibles via le tunnel IP. Des routes peuvent être requises sur le serveur, ou PBR est ajouté à ADC en fonction de l’implémentation choisie.
Exemple :
add ns ip 10.0.1.2 255.255.255.252 -vServer DISABLED add netProfile netProfile_DSR -srcIP 10.0.1.2 add lb monitor mon_DSR PING -LRTM DISABLED -destIP 1.1.1.80 -ipTunnel YES -netProfile netProfile_DSR
Pour configurer un moniteur à l’aide de l’interface graphique
- Accédez àGestion du trafic > Équilibrage de charge > Moniteurs.
- Créez un moniteur et sélectionnezTunnel IP.
Pour créer et configurer un service pour DSR IP sur IP à l’aide de l’interface graphique
- Accédez àTraffic Management > Load Balancing > Services.
- Créez un service et, dans l’ongletParamètres, sélectionnezUtiliser l’adresse IP source.
Pour lier un service à un serveur virtuel d’équilibrage de charge à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez la commande suivante :
bind lb vserver
Exemple :
bind lb vserver Vserver-LB-1 Service-DSR-1
Pour lier un service à un serveur virtuel d’équilibrage de charge à l’aide de l’interface graphique
- Accédez àGestion du trafic > Équilibrage de charge > Serveurs virtuels.
- Ouvrez un serveur virtuel et cliquez dans la sectionServicespour lier un service au serveur virtuel.
Utilisation de l’adresse IP du client dans l’en-tête externe des paquets de tunnel
Citrix ADC prend en charge l’utilisation de l’adresse IP source client-source comme adresse IP source dans l’en-tête externe des paquets de tunnel liés au mode de retour direct du serveur à l’aide du tunnel IP. Cette fonctionnalité est prise en charge pour le DSR avec IPv4 et le DSR avec les modes de tunneling IPv6. Pour activer cette fonctionnalité, activez le paramètreUtiliser l’adresse IP source du clientpour IPv4 ou IPv6. Ce paramètre est appliqué globalement à toutes les configurations DSR qui utilisent le tunneling IP.
Pour utiliser une adresse IP source client-source comme adresse IP source à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
set iptunnelparam -useclientsourceip [YES | NO]
show iptunnelparam
Pour utiliser l’adresse IP source du client comme adresse IP source à l’aide de l’interface graphique
- Accédez àSystème > Réseau.
- Dans l’ongletParamètres, cliquez surParamètres globaux du tunnel IPv4.
- Dans la pageConfigurer les paramètres globaux du tunnel IPv4, activez la case à cocherUtiliser l’adresse IP source du client.
- Cliquez surOK.
Pour utiliser l’adresse IP source du client comme adresse IP source à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez :
set ip6tunnelparam -useclientsourceip [YES | NO]
show ip6tunnelparam
Pour utiliser l’adresse IP source du client comme adresse IP source à l’aide de l’interface graphique
- Accédez àSystème > Réseau.
- Dans l’ongletParamètres, cliquez surParamètres globaux du tunnel IPv6.
- Dans la pageConfigurer les paramètres globaux du tunnel IPv6, activez la case à cocherUtiliser l’adresse IP source du client.
- Cliquez surOK.
Configuration de décapsulation
Vous pouvez configurer une appliance Citrix ADC ou un serveur principal en tant que décapsulation.
Décapsulation Citrix ADC
Lorsqu’une appliance Citrix ADC est utilisée comme décapsulation, un tunnel IP doit être créé dans l’appliance Citrix ADC. Pour plus de détails, voirConfiguration des tunnels IP.
La configuration de la décapsulation Citrix ADC comprend les deux serveurs virtuels suivants :
- Le premier serveur virtuel reçoit le paquet encapsulé et supprime l’encapsulation IP externe.
- Le deuxième serveur virtuel dispose de l’adresse IP du service d’origine sur l’ADC frontal et utilise la traduction MAC pour transférer le paquet vers le serveur principal en utilisant l’adresse MAC des services liés. Cette configuration est généralement appelée L2DSR. Assurez-vous de désactiver ARP sur ce serveur virtuel.
Exemple de configuration :
L’illustration suivante montre une configuration de décapsulation à l’aide des appliances ADC.
La configuration complète requise pour la configuration est la suivante.
Configuration ADC frontale :
add service svc_DSR01 2.2.2.80 ANY * -usip YES -useproxyport NO add lb vserver vip_DSR_ENCAP ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED bind lb vserver vip_DSR_ENCAP svc_DSR01
Configuration ADC back-end :
add ipTunnel DSR-IPIP 1.1.1.100 255.255.255.255 * add service svc_DSR01_01 2.2.2.101 ANY * -usip YES -useproxyport NO add service svc_DSR01_02 2.2.2.102 ANY * -usip YES -useproxyport NO add service svc_DSR01_03 2.2.2.103 ANY * -usip YES -useproxyport NO add lb vserver vs_DSR_DECAP ANY 2.2.2.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED -netProfile netProf_DSR_MBF_noIP add ns ip 1.1.1.80 255.255.255.255 -type VIP -arp DISABLED -snmp DISABLED add lb vserver vs_DSR_Relay ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m MAC -sessionless ENABLED bind lb vserver vs_DSR_DECAP svc_DSR01_01 bind lb vserver vs_DSR_DECAP svc_DSR01_02 bind lb vserver vs_DSR_DECAP svc_DSR01_03 bind lb vserver vip_DSR_Relay svc_DSR01_01 bind lb vserver vip_DSR_Relay svc_DSR01_02 bind lb vserver vip_DSR_Relay svc_DSR01_03 add netProfile netProf_DSR_MBF_noIP -MBF ENABLED add lb monitor mon_DSR_MAC PING -netProfile netProf_DSR_MBF_noIP bind service svc_DSR01_01 -monitorName mon_DSR_MAC bind service svc_DSR01_02 -monitorName mon_DSR_MAC bind service svc_DSR01_03 -monitorName mon_DSR_MAC
L’exemple suivant montre une configuration de test utilisant Ubuntu et les serveurs Red Hat exécutant apache2. Ces commandes sont configurées sur chaque serveur principal.
sudo ip addr add 1.1.1.80 255.255.255.255 dev lo sudo sysctl net.ipv4.conf.all.arp_ignore=1 sudo sysctl net.ipv4.conf.all.arp_announce=2 sudo sysctl net.ipv4.conf.eth4.rp_filter=2 (The interface has the external IP with route towards the ADC) sudo sysctl net.ipv4.conf.all.forwarding=1 sudo ip link set dev lo arp on
Décapsulation du serveur back-end
Lorsque vous utilisez les serveurs principaux comme décapsulation, la configuration principale varie en fonction du type de système d’exploitation du serveur. Vous pouvez configurer un serveur principal en tant que décapsulation en procédant comme suit :
- Configurez une interface de boucle arrière avec IP pour IP de service.
- Créez une interface de tunnel.
- 通过l Ajouter联合国itineraire 'interface隧道。
- Configurez les paramètres d’interface nécessaires pour le trafic.
Remarque :
Les serveurs du système d’exploitation Windows ne peuvent pas effectuer de tunnels IP en mode natif. Les commandes sont donc fournies à titre d’exemple pour les systèmes Linux. Toutefois, les plug-ins tiers sont disponibles pour les serveurs Windows OS, ce qui ne relève pas du champ d’application de cet exemple.
L’illustration suivante montre une configuration de décapsulation à l’aide des serveurs principaux.
Exemple de configuration :
在cet(中央东部东京)为例,1.1.1.80 est l本IP美德lle (VIP) Citrix ADC et 2.2.2.10-2.2.2.12 sont les adresses IP du serveur principal. L’adresse VIP est configurée dans l’interface de bouclage et un itinéraire est ajouté via l’interface du tunnel. Les moniteurs utilisent l’adresse IP du serveur et placent les paquets du moniteur sur le tunnel IP à l’aide des points de terminaison du tunnel.
La configuration complète requise pour la configuration est la suivante.
Configuration ADC frontale :
La configuration suivante crée un moniteur qui utilise le point de terminaison du tunnel comme source. Ensuite, envoyez des pings par tunnel à l’adresse IP du service.
add ns ip 10.0.1.2 255.255.255.252 -vServer DISABLED add netProfile netProfile_DSR -srcIP 10.0.1.2 add lb monitor mon_DSR PING -LRTM DISABLED -destIP 1.1.1.80 -ipTunnel YES -netProfile netProfile_DSR
La configuration suivante crée un service VIP pour service qui utilise l’adresse IP source d’origine. Ensuite, transfère le trafic via un tunnel IP vers les serveurs back-end.
add service svc_DSR01 2.2.2.10 ANY * -usip YES -useproxyport NO bind service svc_DSR01 -monitorName mon_DSR add service svc_DSR02 2.2.2.11 ANY * -usip YES -useproxyport NO bind service svc_DSR02 -monitorName mon_DSR add service svc_DSR03 2.2.2.12 ANY * -usip YES -useproxyport NO bind service svc_DSR03 -monitorName mon_DSR add lb vserver vip_DSR_ENCAP ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED bind lb vserver vip_DSR_ENCAP svc_DSR01 bind lb vserver vip_DSR_ENCAP svc_DSR02 bind lb vserver vip_DSR_ENCAP svc_DSR03
Configuration du serveur principal de chaque serveur :
Les命令suivantes sont requises pour que le serveur principal reçoive le paquet IPIP, supprime l’encapsulation externe, puis réagisse depuis le bouclage à l’adresse IP du client d’origine. Cela garantit que les adresses IP du paquet reçu par le client correspondent aux adresses IP de la demande d’origine.
modprobe ipip sudo ip addr add 1.1.1.80 255.255.255.255 dev lo nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 198.51.100.5 local 203.0.113.10 nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30' nmcli connection up tun0 sudo sysctl net.ipv4.conf.all.arp_ignore=1 sudo sysctl net.ipv4.conf.all.arp_announce=2 sudo sysctl net.ipv4.conf.tun0.rp_filter=2 sudo sysctl net.ipv4.conf.all.forwarding=1 sudo ip link set dev lo arp off