Architecture et flux de trafic
Cette section décrit l’architecture en mode pont de NetScaler CPX et le flux de trafic. NetScaler CPX peut également être déployé en mode hôte.
Lorsque vous provisionnez une instance NetScaler CPX sur un hôte Docker, le moteur Docker crée une interface virtuelle, eth0, sur l’instance CPX. Cette interface eth0 est directement connectée à une interface virtuelle (veth*) sur le pont docker0. Le moteur Docker attribue également une adresse IP à l’instance NetScaler CPX sur le réseau 172.17.0.0/16.
La passerelle par défaut de l’instance CPX est l’adresse IP du pont docker0, ce qui signifie que toute communication avec l’instance NetScaler CPX se fait via le réseau Docker. Tout le trafic entrant reçu du pont docker0 est reçu par l’interface eth0 sur l’instance NetScaler CPX et traité par le moteur de paquets NetScaler CPX.
La figure suivante illustre l’architecture d’une instance NetScaler CPX sur un hôte Docker.
Fonctionnement de l’adresse IP unique sur NetScaler CPX
Une appliance NetScaler MPX ou VPX standard nécessite au moins trois adresses IP pour fonctionner :
- Adresse IP de gestion appelée adresse IP NetScaler (NSIP)
- Adresse IP du sous-réseau (SNIP) pour communiquer avec la batterie de serveurs
- Adresse (s) IP (VIP) du serveur virtuel pour accepter les demandes des clients
Une instance NetScaler CPX fonctionne avec une seule adresse IP utilisée pour la gestion ainsi que pour le trafic de données.
Lors du provisionnement, une seule adresse IP privée (adresse IP unique) est attribuée à une instance NetScaler CPX par le moteur Docker. Les trois fonctions IP d’une instance NetScaler sont multiplexées sur une adresse IP. Cette adresse IP unique utilise différents numéros de port pour fonctionner en tant que NSIP, SNIP et VIP.
L’image suivante illustre comment une seule adresse IP est utilisée pour exécuter les fonctions de NSIP, SNIP et VIP.
Flux de trafic pour les demandes provenant de l’instance NetScaler CPX
Docker configure implicitement des tables IP et une règle NAT pour diriger le trafic provenant de l’instance NetScaler CPX vers l’adresse IP docker0.
La figure suivante illustre comment une demande ping provenant d’une instance NetScaler CPX atteint la destination.
Dans cet exemple, la demande ping est envoyée par le moteur de paquets sur l’interface eth0 avec l’adresse IP source comme adresse IP NetScaler CPX (172.17.0.4). L’hôte Docker effectue ensuite une traduction d’adresse réseau (NAT) pour ajouter l’adresse IP de l’hôte (192.68.x.x) en tant qu’adresse IP source et envoie la demande à la destination (216.58.x.x). La réponse de l’adresse IP de destination suit le même chemin en sens inverse. L’hôte Docker effectue une NAT sur la réponse et transmet la réponse à l’instance NetScaler CPX sur l’interface eth0.
Flux de trafic pour les demandes provenant du réseau externe
Pour activer la communication externe, lors du provisionnement de NetScaler CPX, vous devez définir des paramètres tels que Docker expose certains ports tels que 80, 22 et tout autre port de votre choix. Si vous n’avez défini aucun port à exposer pendant le provisionnement, vous devez configurer des règles NAT sur l’hôte Docker pour rendre ces ports disponibles.
La demande client provenant d’Internet est reçue par l’hôte Docker, qui effectue ensuite une traduction d’adresse de port (PAT) pour mapper l’adresse IP publique et le port à l’adresse IP et au port uniques de l’instance NetScaler CPX, et transmet le trafic à l’instance.
La figure suivante montre comment l’hôte Docker effectue la traduction d’adresse de port pour diriger le trafic vers l’adresse IP unique et le port NetScaler CPX.
Dans cet exemple, l’adresse IP de l’hôte Docker est 192.68.x.x et l’adresse IP unique de l’instance NetScaler CPX est 172.17.0.4. Le port SSH 22 de l’instance NetScaler CPX est mappé au port 1100 sur l’hôte Docker. La demande SSH du client est reçue sur l’adresse IP 192.68.x.x sur le port 1100. L’hôte Docker effectue une traduction d’adresse de port pour mapper cette adresse et ce port à l’adresse IP unique 172.17.0.4 sur le port 22 et transmet la demande du client.