RNAT
Dans Reverse Network Address Translation (RNAT), l’appliance NetScaler remplace les adresses IP source des paquets générés par les serveurs par des adresses IP NAT publiques. Par défaut, l’appliance utilise une adresse SNIP comme adresse IP NAT. Vous pouvez également configurer l’appliance pour qu’elle utilise une adresse IP NAT unique pour chaque sous-réseau. Vous pouvez également configurer RNAT à l’aide des listes de contrôle d’accès (ACL). Les modes Utiliser l’IP source (USIP), Utiliser l’adresse IP du sous-réseau (USNIP) et Link Load Balancing (LLB) affectent le fonctionnement de RNAT. Vous pouvez afficher des statistiques pour surveiller le RNAT.
Remarque : La plage de ports éphémères pour RNAT sur l’appliance NetScaler est 1024-65535.
Vous pouvez utiliser une adresse réseau ou une ACL étendue comme condition pour une entrée RNAT :
-
Utilisation d’une adresse réseau. Lorsque vous utilisez une adresse réseau, le traitement RNAT est effectué sur tous les paquets provenant du réseau spécifié.
-
Utilisation des listes ACL étendues. Lorsque vous utilisez des ACL, le traitement RNAT est effectué sur tous les paquets qui correspondent aux ACL. Pour configurer l’appliance NetScaler afin qu’elle utilise une adresse IP unique pour le trafic correspondant à une ACL, vous devez effectuer les trois tâches suivantes :
- Configurez l’ACL.
- Configurez RNAT pour modifier l’adresse IP source et le port de destination.
- Appliquez l’ACL.
Le schéma suivant illustre le RNAT configuré avec une ACL.
Figure 1. RNAT avec ACL
Les choix de base suivants s’offrent à vous pour le type d’adresse IP NAT :
-
Utilisation d’un SNIP comme adresse IP NAT. Lorsque vous utilisez un SNIP comme adresse IP NAT, l’appliance NetScaler remplace les adresses IP source des paquets générés par le serveur par un SNIP. Par conséquent, l’adresse SNIP doit être une adresse IP publique. Si le mode Use Subnet IP (USNIP) est activé, NetScaler peut utiliser une adresse IP de sous-réseau (SNIP) comme adresse IP NAT.
-
Utilisation d’une adresse IP unique comme adresse IP NAT. Lorsque vous utilisez une adresse IP unique comme adresse IP NAT, l’appliance NetScaler remplace les adresses IP source des paquets générés par le serveur par l’adresse IP unique spécifiée. L’adresse IP unique doit être une adresse IP publique appartenant à NetScaler. Si plusieurs adresses IP NAT sont configurées pour un sous-réseau, la sélection des adresses IP NAT utilise l’algorithme round robin.
Cette configuration est illustrée dans le schéma suivant.
Figure 2. Utilisation d’une adresse IP unique comme adresse IP NAT
Avant de commencer
Avant de configurer une règle RNAT, tenez compte des points suivants :
-
Lorsque RNAT et Use Source IP (USIP) sont tous deux configurés sur l’appliance NetScaler, RNAT est prioritaire. En d’autres termes, l’adresse IP source des paquets, qui correspond à une règle RNAT, est remplacée conformément au paramètre de la règle RNAT.
-
Dans une topologie où l’appliance NetScaler effectue à la fois un équilibrage de charge de liaison (LLB) et un RNAT pour le trafic provenant du serveur, l’appliance sélectionne l’adresse IP source en fonction du routeur. La configuration LLB détermine la sélection du routeur. Pour plus d’informations sur LLB, reportez-vous à la section Équilibrage de charge des liaisons.
Configurer RNAT
Les instructions suivantes fournissent des procédures de ligne de commande distinctes pour créer des entrées RNAT qui utilisent différentes conditions et différents types d’adresses IP NAT. Dans l’interface graphique, toutes les variantes peuvent être configurées dans la même boîte de dialogue. Il n’existe donc qu’une seule procédure pour les utilisateurs de l’interface graphique.
Procédures CLI
Pour créer une règle RNAT à l’aide de l’interface de ligne de commande :
À l’invite de commandes, pour créer la règle et vérifier la configuration, tapez :
add rnat <name> (<network> | (<aclname> [-redirectPort <port>]))
bind rnat <name> <natIP>@ …
show rnat
Pour modifier ou supprimer une règle RNAT à l’aide de l’interface de ligne de commande :
-
Pour modifier une règle RNAT :
set rnat <name> (<aclname> [-redirectPort <port>])
-
Pour supprimer une règle RNAT, tapez la commande.
rm rnat <name>
Utilisez la commande suivante pour vérifier la configuration :
show rnat
Exemples :
A network address as the condition and a SNIP address as the NAT IP address:
> add rnat RNAT-1 192.168.1.0 255.255.255.0
Done
A network address as the condition and a unique IP address as the NAT IP address:
> add rnat RNAT-2 192.168.1.0 255.255.255.0
Done
> bind rnat RNAT-2 -natip 10.102.29.50
Done
If instead of a single NAT IP address you specify a range, RNAT entries are created with all the NetScaler-owned IP addresses, except the NSIP, that fall within the range specified:
> add rnat RNAT-3 192.168.1.0 255.255.255.0
Done
> bind rnat RNAT-3 -natip 10.102.29.[50-110]
Done
An ACL as the condition and a SNIP address as the NAT IP address:
> add rnat RNAT-4 acl1
Done
An ACL as a condition and a unique IP address as the NAT IP address:
> add rnat RNAT-4 acl1
Done
> bind rnat RNAT-4 -natip 10.102.29.50
Done
If instead of a single NAT IP address you specify a range, RNAT entries are created with all the NetScaler-owned IP addresses, except the NSIP, that fall within the range specified:
> add rnat RNAT-5 acl1
Done
> bind rnat RNAT-5 -natip 10.102.29.[50-70]
Done
<!--NeedCopy-->
Procédures GUI
Pour créer une entrée RNAT à l’aide de l’interface graphique :
Accédez à Système > Réseau > NAT, cliquez sur l’onglet RNAT et ajoutez une nouvelle règle RNAT ou modifiez une règle existante.
Moniteur RNAT
Vous pouvez afficher les statistiques RNAT pour résoudre les problèmes liés à la traduction des adresses IP.
Le tableau suivant décrit les statistiques associées à RNAT et à RNAT IP.
Statistique | Description |
---|---|
Octets reçus | Octets reçus pendant les sessions RNAT |
Octets envoyés | Octets envoyés pendant les sessions RNAT |
Paquets reçus | Paquets reçus pendant les sessions RNAT |
Paquets envoyés | Paquets envoyés pendant les sessions RNAT |
Synchronisation envoyée | Demandes de connexions envoyées pendant les sessions RNAT |
Sessions en cours | Sessions RNAT actuellement actives |
Pour afficher les statistiques RNAT à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- stat rnat
Exemple :
> stat rnat
RNAT summary
Rate (/s) Total
Bytes Received 0 0
Bytes Sent 0 0
Packets Received 0 0
Packets Sent 0 0
Syn Sent 0 0
Current RNAT sessions -- 0
Done
>
<!--NeedCopy-->
Pour surveiller le RNAT à l’aide de l’interface graphique :
Accédez à Système > Réseau > NAT, cliquez sur l’onglet RNAT, puis cliquez sur Statistiques .
Configurer RNAT6
Les règles RNAT (Reverse Network Address Translation) pour les paquets IPv6 sont appelées RNAT6. Lorsqu’un paquet IPv6 généré par un serveur répond aux conditions spécifiées dans la règle RNAT6, l’appliance remplace l’adresse IPv6 source du paquet IPv6 par une adresse IPv6 NAT configurée avant de le transférer vers la destination. L’adresse IPv6 NAT est l’une des adresses SNIP6 ou VIP6 appartenant à NetScaler.
Lorsque vous configurez une règle RNAT6, vous pouvez spécifier un préfixe IPv6 ou un ACL6 comme condition :
- À l’aide d’une adresse réseau IPv6. Lorsque vous utilisez un préfixe IPv6, l’appliance effectue un traitement RNAT sur les paquets IPv6 dont l’adresse IPv6 correspond au préfixe.
- Utilisation d’ACL6s. Lorsque vous utilisez un ACL6, l’appliance effectue un traitement RNAT sur les paquets IPv6 qui répondent aux conditions spécifiées dans l’ACL6.
Vous disposez de l’une des options suivantes pour définir l’adresse IP NAT :
-
Spécifiez un ensemble d’adresses SNIP6 et VIP6 appartenant à NetScaler pour une règle RNAT6. L’appliance NetScaler utilise l’une des adresses IPv6 de cet ensemble comme adresse IP NAT pour chaque session. La sélection est basée sur l’algorithme Round Robin et est effectuée pour chaque session.
-
Ne spécifiez aucune adresse SNIP6 ou VIP6 appartenant à NetScaler pour une règle RNAT6. L’appliance NetScaler utilise n’importe laquelle des adresses SNIP6 ou VIP6 appartenant à NetScaler comme adresse IP NAT. La sélection est basée sur le réseau de saut suivant auquel est destiné un paquet IPv6 correspondant à la règle RNAT.
Procédures CLI
Pour créer une règle RNAT6 à l’aide de l’interface de ligne de commande :
À l’invite de commandes, pour créer la règle et vérifier la configuration, tapez :
- **add rnat6** <name> (<network> | (<acl6name> [-**redirectPort** \
])) - bind rnat6 <name> <natIP6>@ …
- show rnat6
Pour modifier ou supprimer une règle RNAT6 à l’aide de l’interface de ligne de commande :
- Pour modifier une règle RNAT6 dont la condition est une ACL6, tapez la commande set rnat6 <name>, suivie d’une nouvelle valeur pour le paramètre RedirectPort .
- Pour supprimer une règle RNAT6, tapez la commande clear rnat6 <name>.
Procédures GUI
Pour configurer une règle RNAT6 à l’aide de l’interface graphique :
Accédez à Système > Réseau > NAT, cliquez sur l’onglet RNAT6 et ajoutez une nouvelle règle RNAT6 ou modifiez une règle existante.
Moniteur RNAT6
Vous pouvez afficher les statistiques relatives à la fonctionnalité RNAT6 pour surveiller les performances ou pour résoudre les problèmes liés à la fonctionnalité RNAT6. Vous pouvez afficher un résumé des statistiques des règles RNAT6 ou d’une règle RNAT6 particulière. Les compteurs statistiques reflètent les événements survenus depuis le dernier redémarrage de l’appliance NetScaler. Tous ces compteurs sont remis à 0 lorsque l’appliance NetScaler est redémarrée.
La liste suivante répertorie certains des compteurs de statistiques associés à la fonctionnalité RNAT6 :
- Octets reçus : nombre total d’octets reçus pendant les sessions RNAT6.
- Octets envoyés : nombre total d’octets envoyés pendant les sessions RNAT6.
- Paquets reçus : nombre total de paquets reçus pendant les sessions RNAT6.
- Paquets envoyés : nombre total de paquets envoyés pendant les sessions RNAT6.
- Synchronisation envoyée : nombre total de demandes de connexions envoyées pendant les sessions RNAT6
- Sessions en cours - Sessions RNAT6 actuellement actives
Pour afficher un résumé des statistiques de toutes les règles RNAT6 à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- Stat Rnat6
Pour afficher les statistiques d’une règle RNAT6 spécifiée à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- stat rnat6 [\<rnat6 rule name>]
Pour afficher les statistiques RNAT6 à l’aide de l’interface graphique :
Accédez à Système > Réseau > NAT, cliquez sur l’onglet RNAT6, puis cliquez sur Statistiques .
> stat rnat6
RNAT6 summary
Rate (/s) Total
Bytes Received 178 20644
Bytes Sent 178 20644
Packets Received 5 401
Packets Sent 5 401
Syn Sent 0 2
Current RNAT6 sessions -- 1
Done
<!--NeedCopy-->
Heure de début du journal et raisons de fermeture de la connexion dans les entrées du journal RNAT
Pour diagnostiquer ou résoudre les problèmes liés au RNAT, l’appliance NetScaler enregistre les sessions RNAT chaque fois qu’elles sont fermées.
Un message de journal pour une session RNAT contient les informations suivantes :
- Adresse IP appartenant à NetScaler (adresse NSIP ou adresse SNIP) d’où provient le message du journal
- Horodatage de la création du journal
- Protocole de la session RNAT
- Adresse IP source
- Adresse IP RNAT
- Adresse IP de destination
- Heure de début de la session RNAT
- Heure de clôture de la session RNAT
- Nombre total d’octets envoyés par l’appliance NetScaler pour cette session RNAT
- Nombre total d’octets reçus par l’appliance NetScaler pour cette session RNAT
- Motif de clôture de la session du RNAT. L’appliance NetScaler enregistre le motif de fermeture des sessions TCP RNAT qui n’utilisent pas le proxy TCP (proxy TCP désactivé) de l’appliance. Les types de motifs de fermeture enregistrés pour les sessions TCP RNAT sont les suivants :
- FIN TCP. La session RNAT a été fermée en raison d’un TCP FIN envoyé par le périphérique source ou de destination.
- TCP RST. La session RNAT a été fermée en raison d’une réinitialisation TCP envoyée par le périphérique source ou de destination.
- Délai d’expiration. Le délai imparti pour la session RNAT a expiré.
Le tableau suivant présente quelques exemples d’entrées de journal pour les sessions RNAT.
Type d’entrée | Exemple d’entrée dans le journal |
---|---|
Exemple d’entrée de journal pour une session UDP RNAT | Dec 1 15:28:12 |
Exemple d’entrée de journal pour une session TCP RNAT. L’entrée du journal indique que la session s’est fermée à cause de la réinitialisation du protocole TCP | Dec 1 15:29:59 |
Exemple d’entrée de journal pour une session TCP RNAT. L’entrée du journal indique que le délai de la session a expiré | Dec 1 15:30:12 |
Basculement de connexion dynamique pour RNAT
Le basculement de connexion permet d’éviter toute interruption de l’accès aux applications déployées dans un environnement distribué. L’appliance NetScaler prend désormais en charge le basculement dynamique des connexions pour les connexions liées aux règles RNAT dans une configuration NetScaler High Availability (HA). Dans une configuration HA, le basculement de connexion (ou mise en miroir des connexions) fait référence au processus qui consiste à maintenir active une connexion TCP ou UDP établie en cas de basculement.
L’appliance principale envoie des messages à l’appliance secondaire pour synchroniser les informations actuelles concernant les connexions RNAT. L’appliance secondaire utilise ces informations de connexion uniquement en cas de basculement. Lorsqu’un basculement se produit, le nouveau dispositif NetScaler principal dispose d’informations sur les connexions établies avant le basculement et continue donc à fournir ces connexions même après le basculement. Du point de vue du client, ce basculement est transparent. Pendant la période de transition, le client et le serveur peuvent subir une brève interruption et des retransmissions.
Le basculement de connexion peut être activé conformément à la règle RNAT. Pour activer le basculement de connexion sur une règle RNAT, vous activez le paramètre ConnFailover (Connection Failover) de cette règle RNAT spécifique à l’aide de l’interface de ligne de commande ou de l’interface graphique.
Pour activer le basculement de connexion pour une règle RNAT à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
set rnat <name> -connfailover (ENABLED | DISABLED)
show rnat
Pour activer le basculement de connexion pour une règle RNAT à l’aide de l’interface graphique :
- Accédez à Système > Réseau > NAT, puis cliquez sur l’onglet RNAT .
- Sélectionnez Basculement de connexion lors de l’ajout d’une nouvelle règle RNAT ou lors de la modification d’une règle existante.
Réservation du port source pour les connexions RNAT aux serveurs
Pour une requête atteignant une configuration RNAT qui possède une ou plusieurs adresses IP RNAT et dont le paramètre Utiliser le port proxy est désactivé, l’appliance NetScaler utilise l’une des adresses IP RNAT et le port source de la demande RNAT pour se connecter aux serveurs. Avant la version 13.0 47.x, la connexion RNAT (à l’aide du port source du client RNAT) au serveur échoue si le même port source est déjà utilisé dans d’autres connexions.
-
Port source inférieur à 1024. Par défaut, l’appliance NetScaler réserve les 1024 premiers ports de toute adresse IP appartenant à NetScaler (y compris les adresses IP RNAT). Avant la version 13.0 47.x, la connexion RNAT (à l’aide du port source du client RNAT) au serveur échoue si le port source de la requête RNAT est inférieur ou égal à 1024. Avec la version 13.0 47.x, la connexion RNAT (à l’aide du port source du client RNAT) au serveur réussit même si le port source de la requête RNAT est inférieur ou égal à 1024.
-
Port source supérieur à 1024. Avant la version 13.0 47.x, la connexion RNAT (à l’aide du port source du client RNAT) au serveur échoue si le même port source est déjà utilisé dans d’autres connexions. Avec la version 13.0 47.x, vous pouvez spécifier une plage de ports source client RNAT dans le paramètre
Retain Source Port range
(retainsourceportrange
) dans le cadre d’une configuration RNAT. L’appliance NetScaler réserve ces ports source du client RNAT sur l’adresse IP RNAT à utiliser uniquement pour la connexion RNAT aux serveurs.
Suppression de sessions RNAT
Vous pouvez supprimer toutes les sessions RNAT indésirables ou inefficaces de l’appliance NetScaler. L’appliance libère immédiatement les ressources (telles que le port de l’adresse IP NAT et la mémoire) allouées à ces sessions, les rendant ainsi disponibles pour de nouvelles sessions. L’appliance supprime également tous les paquets suivants liés à ces sessions supprimées. Vous pouvez supprimer toutes les sessions RNAT ou certaines d’entre elles de l’appliance NetScaler.
Pour effacer toutes les sessions RNAT à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- flush rnatsession
Pour effacer des sessions RNAT sélectives à l’aide de l’interface de ligne de commande :
À l’invite de commandes, tapez :
- **flush rnatsession** ((-**network** <ip_addr> -**netmask** <netmask>) | -**natIP** <ip_addr> | -**aclname** <string>)
Pour effacer toutes les sessions RNAT ou certaines d’entre elles à l’aide de l’interface graphique :
- Accédez à Système > Réseau > NAT, puis cliquez sur l’onglet RNAT.
- Dans le menu Actions, cliquez sur Vider les sessions RNAT pour supprimer toutes les sessions RNAT ou sélectives (par exemple, supprimer les sessions RNAT avec une IP RNAT spécifique ou appartenant à une règle RNAT basée sur le réseau ou ACL spécifique).
Exemples de configurations :
Clear all RNAT sessions existing on a NetScaler appliance
> flush rnatsession
Done
Clear all RNAT sessions belonging to network based RNAT rules that has 203.0.113.0/24 network as the matching condition.
> flush rnatsession -network 203.0.113.0 -netmask 255.255.255.0
Done
Clear all RNAT sessions with RNAT IP 192.0.2.90.
> flush rnatsession -natIP 192.0.2.90
Done
Clear all RNAT sessions belonging to ACL based RNAT rules that has ACL-RNAT-1 as the matching condition.
> flush rnatsession -aclname ACL-RNAT-1
Done
<!--NeedCopy-->
Dans cet article
- Avant de commencer
- Configurer RNAT
- Moniteur RNAT
- Configurer RNAT6
- Moniteur RNAT6
- Heure de début du journal et raisons de fermeture de la connexion dans les entrées du journal RNAT
- Basculement de connexion dynamique pour RNAT
- Réservation du port source pour les connexions RNAT aux serveurs
- Suppression de sessions RNAT