1 votes

Pourquoi IIS n'autorise-t-il pas les connexions TCP depuis des IP externes via NLB ?

J'ai un environnement de serveur web de développement composé de 2 VM Windows 2012 configurées avec NLB (mode Multicast). Elles utilisent chacune une seule carte réseau avec 2 IP attribuées : l'IP NLB partagée et leur IP individuelle non partagée. Notre modèle d'utilisation est d'exécuter des constructions et des déploiements sur l'une des VM pendant qu'elle est maintenue hors du pool NLB actif. Une fois la construction terminée, le serveur fraîchement mis à jour est ajouté au pool, et l'autre est retiré. De cette façon, nous maintenons un temps de fonctionnement constant.

Mon problème est que sur l'un des deux serveurs, IIS n'autorise pas les connexions à partir d'adresses IP extérieures à notre réseau via NLB. Ainsi, si ce serveur est le seul actif dans le pool NLB, les PC internes peuvent se connecter, mais les hôtes extérieurs à notre réseau ne peuvent pas le faire. Ils obtiennent un délai d'attente. Je peux voir les TCP SYNs en utilisant Wireshark, et aucun ACK n'est jamais renvoyé. Si je renverse la configuration NLB sur l'autre serveur, il permet aux IP internes et externes de se connecter. Et j'ai vérifié cela depuis un hôte extérieur que je contrôle : J'ai tenté une requête HTTP en utilisant l'IP de NLB et j'ai obtenu le même résultat.

Des choses que j'ai vérifiées :

  • Pour autant que je sache, la configuration/les liens de NLB et IIS sont les mêmes sur les deux serveurs.
  • Il n'y a pas de règles de filtrage IP dans IIS.
  • Le Pare-feu Windows est désactivé.
  • J'ai essayé de passer en mode Unicast NLB, mais cela a tout cassé.
  • J'ai essayé de changer la priorité de l'hôte NLB en 4 et 3 au lieu de 1 et 2, sans effet.
  • J'ai également éliminé les en-têtes d'hôte et le SSL de l'équation en reproduisant le problème avec une simple requête par adresse IP sur le port 80.

Comment puis-je résoudre la question de savoir pourquoi IIS ne répond pas aux SYN provenant d'adresses IP extérieures ? Peut-il enregistrer ce genre de choses ?

Si je ne parviens pas à trouver la raison pour laquelle IIS n'autorise pas la connexion sur le serveur 2, mon seul recours sera de reconstruire toute la VM à partir de zéro et de réessayer....

1voto

Eponymous Points 111

Un de nos administrateurs de serveur a trouvé le problème : La VM problématique n'avait pas l'adresse IP correcte de la passerelle par défaut dans les paramètres de sa carte réseau. Cela semble expliquer pourquoi les requêtes locales étaient correctes mais que les requêtes provenant d'IP extérieures étaient rejetées.

Pour référence future, un bon test dans cette situation serait de vérifier que la VM peut initier des connexions sortantes vers des IP externes, par exemple lancer un navigateur web et aller sur google.com. J'ai l'impression que cela aurait également échoué alors qu'elle était dans un mauvais état, et aurait été plus facile à dépanner.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X