Configuration d'un serveur d'applications, d'un noeud ou d'une cellule pour utiliser une interface réseau unique
Par défaut, les serveurs d'applications sont configurés pour utiliser toutes les interfaces réseau disponibles à leur disposition. Vous pouvez modifier cette configuration de sorte qu'un serveur d'applications n'utilise qu'une interface réseau particulière. Vous ne pouvez toutefois pas le configurer pour utiliser un sous-groupe d'interfaces. Si, par exemple, vous disposez de trois cartes de réseau Ethernet, il est impossible de configurer un serveur d'applications pour qu'il en utilise deux.
Pourquoi et quand exécuter cette tâche
Lorsqu'un serveur d'applications est configuré pour utiliser toutes les interfaces réseau, s'il ouvre une connexion sur le port 9901 d'un poste disposant de deux adresses TCP/IP, il ouvre le port 9901 sur les deux adresses IP.
Sous Microsoft Windows,
la sortie netstat contient *.9901 dans la zone Local Address, indiquant que le port 9901 est lié
à toutes les interfaces réseau du système.
Lorsqu'un serveur d'applications est configuré pour utiliser une interface réseau donnée, il ne communique que sur cette interface réseau. Sous Windows, par exemple, si un serveur d'applications ouvre une connexion sur le port 7842 sur une carte de réseau Ethernet avec une adresse 192.168.1.150, la sortie netstat contient 192.168.1.150.7842 dans la zone Local Address, indiquant que le port 7842 est lié uniquement à l'adresse 192.168.1.150.
Si vous disposez de plusieurs interfaces réseau et que vous voulez les utiliser séparément, vous devez disposer d'un profil de configuration distinct pour chaque interface. Lorsque les interfaces réseau sont utilisées séparément, un agent de noeud distinct est nécessaire pour chaque interface réseau sur laquelle s'exécute un serveur d'applications. Deux serveurs d'applications liés à deux interfaces réseau distinctes sur le même poste ne peuvent appartenir au même noeud car ils disposent d'adresses TCP/IP différentes.
Dans un environnement multihébergé, vous devrez peut-être séparer le trafic http entrant et/ou https en le forçant à utiliser une carte réseau autre que celle liée au nom d'hôte utilisé lors de l'installation. Cette séparation peut être accomplie en indiquant le nom d'hôte ou l'adresse IP à lier à une autre carte réseau pour les ports defaulthost et defaulthost_secure de chaque serveur d'applications qui doit être redirigé. Cette modification configure le serveur d'applications pour qu'il accepte uniquement le trafic http et/ou https reçue sur la carte indiquée. De même, le gestionnaire de déploiement utilise ce nom d'hôte comme transport lors de la génération du plug-in pour ce serveur d'applications. Il n'existe aucune limitation connue pour cette modification tant que seuls les ports defaulthost et defaulthost_secure sont modifiés de cette façon.

- Si vous souhaitez qu'un serveur d'applications particulier utilise une seule interface réseau, exécutez la procédure suivante pour ce serveur.
- Si vous souhaitez qu'un noeud entier utilise une seule interface réseau, exécutez la procédure suivante pour l'agent de noeud et tous les serveurs d'applications du noeud.
- Si vous souhaitez qu'une cellule entière utilise une seule interface réseau, exécutez la procédure suivante pour le gestionnaire de déploiement, l'agent de noeud et tous les serveurs d'applications du noeud.
- Lorsque vous exécutez la procédure suivante, n'indiquez pas de système hôte local, d'adresse en boucle, telle que 127.0.0.1, ou d'astérisque (*) dans les adresses TCP/IP. Lorsqu'un astérisque (*) est indiqué en guise de nom d'hôte pour l'adresse DCS (Distribution and Consistency Services) et que vous disposez de plusieurs cartes NIC (Network Identification Card), le port DCS peut être relié à plusieurs adresses IP.
Lorsque l'ORB client établit une connexion TCP à un serveur, deux scénarios sont possibles :
- Le côté socket local est lié à l'adresse unique, spécifiée soit sur la propriété ORB_LISTENER_ADDRESS dans le fichier serverindex.xml soit sur la propriété personnalisée com.ibm.CORBA.LocalHost.
- Le côté socket local n'est lié à aucune adresse particulière.
Ces deux scénarios surviennent car la pile de gestion de réseau Microsoft Windows ne transmet pas les paquets dans différentes zones de portée. Les interfaces publique et de bouclage se trouvent dans des zones de portée différentes.
Le premier scénario échoue avec une exception SocketException si votre client s'exécute sous Microsoft Windows7 ou Microsoft Windows 2008 R2 et la propriété personnalisée com.ibm.ws.orb.transport.useMultiHome sur le client a la valeur false car :- soit la valeur d'hôte ORB_LISTENER_ADDRESS du client, dans le fichier serverindex.xml, ou la propriété personnalisée com.ibm.CORBA.LocalHost, présente l'adresse interne localhost ou 127.0.0.1 et le serveur a un nom d'hôte ou une adresse IP externe du type 147.10.32.117,
- soit le client a une adresse externe et le serveur une adresse interne.
Procédure
Résultats
Exemple
Cet exemple permet de créer deux noeuds, chacun utilisant une interface réseau distincte sur un poste disposant d'au moins deux interfaces réseau :
- Utilisez l'outil de gestion de profil pour créer un serveur d'applications et le fédérer dans la cellule souhaitée.
- Utilisez l'outil de gestion de profil pour créer un profil de serveur d'applications, définissant un nom d'hôte différent de celui utilisé pour le serveur d'applications créé. Fédérez ce serveur d'applications dans la cellule souhaitée.
- Lancez l'agent de noeud et le serveur d'applications qui sont configurés avec la première interface réseau. Suivez la procédure précédente pour l'agent de noeud et le serveur d'applications afin de préparer ce noeud pour communiquer sur l'interface réseau spécifiée lors de la configuration de ce serveur d'applications.
- Lancez le deuxième agent de noeud et le serveur d'applications. Suivez la procédure précédente pour l'agent de noeud et le serveur d'applications afin de préparer ce noeud pour communiquer uniquement sur l'interface réseau spécifiée lors de la configuration du deuxième serveur d'applications.
- Arrêtez tous les agents de noeud et les serveurs d'applications créés dans cet exemple.
- Redémarrez tous ces agents de noeud et ces serveurs d'applications.
Deux noeuds distincts s'exécutent sur deux interfaces réseau séparées.
Que faire ensuite
-Dcom.ibm.ws.orb.transport.useMultiHome=false
-Dcom.ibm.CORBA.LocalHost=nom_hôte
nom_hôte est l'adresse TCP/IP ou le nom_hôte de l'interface réseau que ORB doit utiliser.
