Question Windows Server 2008: spécification de l'adresse IP par défaut lorsque la carte réseau a plusieurs adresses


J'ai un serveur Windows qui a environ 10 adresses IP liées statiquement. Le problème est que je ne sais pas comment spécifier l'adresse IP par défaut.

Parfois, lorsque j'attribue une nouvelle adresse à la carte réseau, l'adresse IP par défaut change en fonction de la dernière adresse IP entrée dans la configuration IP avancée de la carte réseau. Cela a pour effet (depuis que j'utilise NAT) que l'IP publique sortante change aussi.

Même si ce problème est actuellement sur Windows Server 2008.

Comment définir l'adresse IP par défaut sur une carte réseau lorsque plusieurs adresses IP sont liées?

Il y a plus d'explication sur mon problème.

alt text http://www.nmediasolutions.com/_images/probleme/ip.png

Voici la sortie de ipconfig:

DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.99.49(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.51(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.52(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.53(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.54(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.55(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.56(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.57(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.58(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.59(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.60(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.61(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.62(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.64(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.65(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.66(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.67(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.68(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.70(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.71(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.100(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.108(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.109(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.112(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.63(Duplicate)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.99.1

Si je fais un pathping il y a la réponse, le premier est le 99.49, même si mon adresse IP par défaut est 99.100

Tracing route to www.l.google.com [72.14.204.99]
over a maximum of 30 hops:
  0  Machine [192.168.99.49]

Il y a la table de routage sur la machine:

 Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0     192.168.99.1    192.168.99.49    261
           10.10.10.0    255.255.255.0         On-link       10.10.10.10    261
          10.10.10.10  255.255.255.255         On-link       10.10.10.10    261
         10.10.10.255  255.255.255.255         On-link       10.10.10.10    261
         192.168.99.0    255.255.255.0         On-link     192.168.99.49    261
        192.168.99.49  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.51  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.52  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.53  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.54  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.55  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.56  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.57  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.58  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.59  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.60  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.61  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.62  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.64  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.65  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.66  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.67  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.68  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.70  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.71  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.100  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.108  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.109  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.112  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.255  255.255.255.255         On-link     192.168.99.49    261
            224.0.0.0        240.0.0.0         On-link     192.168.99.49    261
            224.0.0.0        240.0.0.0         On-link       10.10.10.10    261
      255.255.255.255  255.255.255.255         On-link     192.168.99.49    261
      255.255.255.255  255.255.255.255         On-link       10.10.10.10    261

Je pense que mon itinéraire devrait ressembler à:

Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0     192.168.99.1    **192.168.99.100**    261
           10.10.10.0    255.255.255.0         On-link       10.10.10.10    261
          10.10.10.10  255.255.255.255         On-link       10.10.10.10    261
         10.10.10.255  255.255.255.255         On-link       10.10.10.10    261
         192.168.99.0    255.255.255.0         On-link     192.168.99.100    261
        192.168.99.49  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.51  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.52  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.53  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.54  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.55  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.56  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.57  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.58  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.59  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.60  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.61  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.62  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.64  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.65  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.66  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.67  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.68  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.70  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.71  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.100  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.108  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.109  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.112  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.255  255.255.255.255         On-link     192.168.99.100    261
            224.0.0.0        240.0.0.0         On-link     192.168.99.100    261
            224.0.0.0        240.0.0.0         On-link       10.10.10.10    261
      255.255.255.255  255.255.255.255         On-link     192.168.99.100    261
      255.255.255.255  255.255.255.255         On-link       10.10.10.10    261

Comment puis-je être sûr que l'adresse IP utilisée dans l'image (supposée être l'adresse IP par défaut) sera utilisée par mon serveur comme adresse par défaut?


23
2018-03-07 21:30


origine




Réponses:


Avec Server 2008 Service Pack 2 (pas R2), ou Vista SP2 et correctif MS  KB975808 il y a une solution, bien qu'un peu maladroite. Vous devez supprimer toutes les adresses que vous NE voulez PAS en tant que source, puis rajouter chaque adresse sur la ligne de commande en utilisant

Netsh int ipv4 add address <Interface Name> <ip address> skipassource=true

Le correctif active l'indicateur "Skip As Source".

Pour une analyse plus détaillée de la manière dont les différentes versions de Windows sélectionnent les adresses IP source, consultez la section suivante: Article de blog TechNet.


11
2018-03-08 15:41





Il n’existe pas d’option "IP par défaut" pour une interface réseau; votre table de routage des systèmes définit plutôt quelle interface logique doit être utilisée lors de la communication avec d'autres périphériques.

Il semblerait que vous souhaitiez configurer un itinéraire par défaut. Cela entraînerait que toutes les conversations lancées par cette machine soient établies à partir d'une adresse IP spécifique.

Utilisez route add pour ajouter une passerelle par défaut


6
2018-03-08 15:09



Comment je peux changer ma table de routage, est en fait le 99.49 i besoin de la route par défaut soit 99.100 - Cédric Boivin
La passerelle par défaut est la route par défaut et vice versa. C'est juste une question de terminologie. - Kevin M
Je le sais, mais je ne peux pas changer la route par défaut. Comment je peux le changer? Quelle est la bonne formule de commande - Cédric Boivin
Vous pouvez essayer ceci: "route add 0.0.0.0 mask 0.0.0.0 192.168.99.100 metric 2" - Jeff Miles
Si je fais ça, non, je ne peux plus aller sur Internet parce que c'est une mauvaise passerelle. - Cédric Boivin


Votre situation n'est pas très claire, mais si je vous comprends bien:
1) Pourquoi ne définissez-vous pas votre dernière adresse IP par défaut?

2) Ou peut-être pourriez-vous essayer ceci (en supposant que l'adresse de la passerelle est 192.168.99.1):

route delete 0.0.0.0
route -p add 192.168.99.1 mask 255.255.255.255 192.168.99.100
route -p add 0.0.0.0 mask 0.0.0.0 192.168.99.1 192.168.99.100

Pour plus d'informations sur la syntaxe de la commande "route", regardez ici: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx?mfr=true


2
2018-03-08 14:57



Pas de travail, les commandes ne sont pas bonnes. Erreur, impossible de trouver le fichier spécifié - Cédric Boivin
essayez sans "if": route -p add 192.168.99.1 mask 255.255.255.255 192.168.99.100 mais ça devrait marcher, pourriez-vous citer le erroe s'il vous plait? - Alexey Shatygin
Cette fois, pas de message d'erreur, mais ça ne change rien - Cédric Boivin
Cela devrait changer votre table de routage. Pouvez-vous faire "route print", cette commande et "route print" à nouveau et mettre la sortie ici? - Alexey Shatygin
Et, avant de faire la commande que j'ai posté, faites "route delete 0.0.0.0" - Alexey Shatygin


Ne pourriez-vous pas utiliser des métriques sur les adresses IP? Dans les propriétés TCP / IP, décochez Automatic Metric et attribuez une valeur statique inférieure à 261 (comme indiqué dans la capture d'écran) à l'adresse de votre choix par défaut.


1



Je vais essayer ça, c'est une bonne idée. - Cédric Boivin
Ne travaille pas, voir ma modification sur mon post. - Cédric Boivin
c'est là un moyen de changer l'adresse de l'interface? - Cédric Boivin


Une commande sous la forme:
> route ajouter 0.0.0.0 masque 0.0.0.0 192.168.99.1 métrique xxx si aaaa
changera l'adresse vue lorsque la machine utilisera des adresses non-192.168.99.0 / 24 et non-10.10.10.0 / 24. C'est-à-dire lorsque la passerelle par défaut est utilisée. La métrique (xxx) doit être supérieure à tout le reste pour garantir que la règle est utilisée. L'interface (yyy) doit être l'interface à utiliser. Mais, je ne pense pas qu'il y ait un moyen de contrôler l'adresse IP à utiliser sur cette interface s'il y a plusieurs adresses IP.
> route add 192.168.99.0 masque 255.255.255.0 métrique xxx si aaaa
est similaire mais concerne toute adresse 192.168.99.0/24 à laquelle le système se connecte. Le fait est que l’attribution de plusieurs adresses IP à une seule interface peut poser ce type de problème.


1





J'ai pu dupliquer votre problème: il semblerait que Windows utilise le le plus bas l’adresse IP attribuée sur une interface réseau donnée comme adresse "sortante", quel que soit l’ordre réel dans lequel elles ont été attribuées.

Je n'ai pas pu trouver de documentation sur ce comportement, mais je suis tout à fait sûr que c'est le cas.


modifier

Je pense que cela ne peut vraiment pas être fait à l'O.S. niveau, mais cela peut se faire par code dans votre application: un socket peut être explicitement lié à une paire adresse IP / port choisie avant en le connectant au point final distant. Mais vous devrez utiliser des bibliothèques de niveau inférieur à celles des services Web standard. C'EST À DIRE. vous devrez ouvrir manuellement un socket, le connecter et l'utiliser pour lire / écrire des données.

Exemple .NET / C #:

using System.Net;
using System.Net.Sockets;

IPAddress local_addr = IPAddress.Parse("192.168.99.100");
IPAddress remote_addr = IPAddress.Parse("1.2.3.4");

int local_port = 4242;
int remote_port = 80;

IPEndPoint local_ep = new IPEndPoint(local_addr,local_port);
IPEndPoint remote_ep = new IPEndPoint(remote_addr,remote_port);

Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

s.Bind(local_ep);

s.Connect(remote_ep);

// Now use the socket to talk to the remote host

Cela ouvrira une connexion à 1.2.3.4:80 à partir de 192.168.99.100:4242, de sorte que l'hôte distant la verra venir exactement de cette adresse IP.

Essayé et testé en se connectant à IIS, il enregistre la demande comme provenant de l'adresse IP spécifiée.


1



J'ai lu des vêtements qui pourraient être une comparaison binaire avec l'adresse IP? - Cédric Boivin
Oui, la comparaison binaire est très probablement la façon dont "le plus bas" est sélectionné; Je n'ai cependant pas essayé d'utiliser d'IP appartenant à différents sous-réseaux. - Massimo
Mon plus gros problème à l’heure actuelle, c’est que j’ai plus de 300 sites Web sur plusieurs adresses IP, et lorsque mon serveur passe sur Internet pour appeler un autre serveur (service Web), je ne peux pas être certain de l’adresse IP publique que mon serveur aura. - Cédric Boivin
Merci pour cette réponse, mais dans mon scénario, il est impossible d'appliquer cette solution. Les solutions doivent venir du système d'exploitation, ou peut-être du pare-feu. C'est un bon moyen de résoudre le problème par application, mais nous allons dans de nombreuses applications pour résoudre le problème sur chaque site Web. - Cédric Boivin
Mais même si vous pouviez faire ce que vous souhaitiez, vous ne pourriez pas faire en sorte que différents sites Web utilisent différentes adresses IP; De cette façon, vous pourriez :-) - Massimo


La sélection de l'adresse source pour un appel sortant est gérée différemment par la pile TCP / IP depuis la refonte de Vista. Dans XP / 2003 et les versions antérieures, l'adresse source était déterminée par la table de routage lorsqu'elle n'était pas explicitement déclarée par l'application effectuant l'appel sortant. Depuis Vista / 2008, l’adresse source peut être déterminée par affinité de préfixe pour la destination ou l’adresse de passerelle du prochain bond si la destination n’est pas locale. La publication suivante de Technet Blog explique très bien le changement de comportement.

http://blogs.technet.com/b/networking/archive/2009/04/24/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx


1





Windows 2008 R2 SP1 x64 Enterprise est utilisé comme serveur Web avec une seule carte réseau.

J'ai rencontré le même problème décrit ci-dessus. Je souhaite que les connexions sortantes soient gérées par l'adresse IP par défaut (celle signée sur le serveur), mais le système choisit de manière aléatoire quelle adresse IP parmi les 10 adresses IP de mes 10 sites Web sur ce serveur.

Ils indiquent tous les adresses IP préférées si vous exécutez la commande suivante.

Netsh int ipv4 show ipaddresses level=verbose

J’ai essayé de télécharger le correctif, mais pour une raison quelconque (et j’ai vérifié deux fois, il a coché la case suivante: "il ne peut pas fonctionner avec cette version du système d’exploitation). Si vous voulez essayer, C'est ici.

Si vous avez un serveur MS DNS en cours d'exécution, vous remarquerez que le nom du serveur SAME sera enregistré 11 fois (dans mon cas) 1 IP pour le serveur et 10 IP pour chacun des sites Web.

Ce que je crois que cela pourrait être un contournement (en ce moment, à moins que quelqu'un d'autre ait une meilleure solution)

Pour accéder au serveur Windows sous les propriétés TCP où vous avez entré les adresses IP du serveur et des sites Web, vous verrez un onglet DNS. Maintenant, décochez la case Enregistrer les adresses de connexion et redémarrez le serveur (et laissez cette case décochée).

Si vous archivez le serveur DNS, toutes les entrées DNS avec les adresses IP auront disparu.

À présent Entrez manuellement dans le DNS le nom du serveur et l'adresse IP préférée. Et cela devrait régler le problème.

Si certains d’entre vous ont une meilleure solution, partagez-les avec nous.

Gripe: Vous ne savez pas pourquoi MS n'a pas résolu ce problème. Ils auraient dû créer une option (comme une case à cocher) pour les serveurs qui transportent plusieurs adresses IP sur le même sous-réseau afin que vous puissiez sélectionner quelle adresse IP doit être préférée.


1





Une 'adresse par défaut' est celle qui est placée dans la première zone de saisie des propriétés de la carte d'interface, car elle répondra par défaut à cette adresse, toutes les autres sont considérées comme secondaires.

(Le serveur ISA est un bon exemple de ce comportement car vous ne pouvez pas lui dire de répondre avec l'adresse IP avec laquelle il a été contacté ...)


0



C'est supposé être comme ça, mais ça ne marche pas. Dans mon cas, l'ip 99.49 est dans la configuration avancée et le 99.100 est celui qui spécifie dans la propriété de ipv4 .... - Cédric Boivin
C'est vraiment étrange, car notre infrastructure ici l'utilise beaucoup pour les filtres de serveurs Web et autres. Avez-vous essayé de supprimer toutes les adresses IP des propriétés de la carte, sauf celle que vous souhaitez utiliser par défaut, de les appliquer et de les remettre après? - Alexandre Nizoux
Oui, j'essaye, et le même problème se produit lorsque j'entre 99.49 - Cédric Boivin
99,49 est le plus bas de vos adresses IP? - Alexandre Nizoux
Oui, vous pouvez regarder mon ipconfig sur le dessus - Cédric Boivin