Frage Windows Server 2008: Festlegen der Standard-IP-Adresse, wenn NIC mehrere Adressen hat


Ich habe einen Windows Server, der ~ 10 IP-Adressen statisch gebunden hat. Das Problem ist, ich weiß nicht, wie man die Standard-IP-Adresse angibt.

Wenn ich der Netzwerkkarte eine neue Adresse zuweise, ändert sich die Standard-IP-Adresse manchmal mit der letzten IP, die in der erweiterten IP-Konfiguration auf der Netzwerkkarte eingegeben wurde. Dies hat die Wirkung (da ich NAT verwende), dass sich auch die IP-Adresse ändert.

Obwohl dieses Problem derzeit auf Windows Server 2008 auftritt.

Wie können Sie die Standard-IP-Adresse auf einer Netzwerkkarte festlegen, wenn mehrere IP-Adressen gebunden sind?

Es gibt mehr Erklärungen zu meinem Problem.

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

Hier ist die Ausgabe von 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

Wenn ich a pathping Es gibt die Antwort, die erste ist die 99.49, auch wenn meine Standard-IP-Adresse 99.100 ist

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

Es gibt die Routing-Tabelle auf der Maschine:

 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

Ich denke, meine Route sollte wie folgt aussehen:

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

Wie kann ich sicher sein, dass die im Bild verwendete IP-Adresse (die Standard-IP-Adresse ist) von meinem Server als Standardadresse verwendet wird?


23
2018-03-07 21:30


Ursprung




Antworten:


Mit Server 2008 Service Pack 2 (nicht R2), oder Vista SP2 und MS Hotfix  KB975808 es gibt eine Lösung, obwohl ein bisschen ungeschickt. Sie würden alle Adressen entfernen, die Sie NICHT als Quelle haben wollen, und dann alle an der Befehlszeile neu hinzufügen

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

Der Hotfix aktiviert das Flag "Als Quelle überspringen".

Für einen tieferen Einblick, wie verschiedene Windows-Versionen Quell-IPs auswählen, siehe dies TechNet-Blogpost.


11
2018-03-08 15:41





Es gibt nicht so etwas wie eine "Standard-IP" für eine Netzwerkschnittstelle; Ihre Systemroutingtabelle definiert vielmehr, welche logische Schnittstelle bei der Kommunikation mit anderen Geräten verwendet werden soll.

Es klingt wie das, was Sie tun möchten, ist eine Standardroute zu konfigurieren. Dies würde dazu führen, dass alle von diesem System initiierten Konversationen von einer bestimmten IP ausgehen.

Verwenden Sie route add, um ein Standardgateway hinzuzufügen


6
2018-03-08 15:09



Wie kann ich meine Routing-Tabelle ändern, ist eigentlich die 99.49 Ich brauche die Standardroute 99.100 - Cédric Boivin
Das Standard-Gateway ist die Standardroute und umgekehrt. Es ist nur eine Frage der Terminologie. - Kevin M
Ich weiß das, aber ich kann die Standardroute nicht ändern. Wie kann ich es ändern? Was sind die richtigen Befehlsformeln? - Cédric Boivin
Sie könnten dies versuchen: "Route hinzufügen 0.0.0.0 Maske 0.0.0.0 192.168.99.100 metrisch 2" - Jeff Miles
Wenn ich das tue, kann ich nicht mehr ins Internet gehen, weil es ein falsches Gateway ist. - Cédric Boivin


Deine Situation ist nicht ganz klar, aber wenn ich dich richtig verstehe:
1) Warum werden Sie nicht einfach Ihre "Need-to-Standard-IP" als letzte festlegen?

2) Oder, vielleicht können Sie dies versuchen (unter der Annahme, dass die Gateway-Adresse 192.168.99.1 ist):

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

Weitere Informationen zur Syntax des Befehls "route" finden Sie hier: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx?mfr=true


2
2018-03-08 14:57



Nicht funktionieren, der Befehl ist nicht gut. Fehler, kann die angegebene Datei nicht finden - Cédric Boivin
versuch ohne "wenn": route -p addiere 192.168.99.1 mask 255.255.255.255 192.168.99.100 aber es sollte funktionieren, kannst du bitte die erroe zitieren? - Alexey Shatygin
Diesmal keine Fehlermeldung, aber das ändert nichts - Cédric Boivin
Es sollte Ihre Routing-Tabelle ändern. Können Sie "route print", diesen Befehl und "route print" erneut ausführen und die Ausgabe hier ablegen? - Alexey Shatygin
Und vor dem Befehl, den ich gepostet habe, mache "route delete 0.0.0.0" - Alexey Shatygin


Können Sie keine Metriken für die IP-Adressen verwenden? Deaktivieren Sie in den TCP / IP-Eigenschaften die Option Automatische Metrik und weisen Sie der Adresse, die Sie als Standard festlegen möchten, eine statische Komponente mit einem Wert unter 261 zu (wie in Ihrem Screenshot gezeigt).


1



Ich werde es versuchen, es ist eine gute Idee. - Cédric Boivin
Arbeite nicht, siehe meine Änderung auf meinem Post. - Cédric Boivin
Gibt es eine Möglichkeit, die Schnittstellenadresse zu ändern? - Cédric Boivin


Ein Befehl in der Form:
> Route hinzufügen 0.0.0.0 Maske 0.0.0.0 192.168.99.1 Metrik xxx wenn yyy
ändert die Adresse, die angezeigt wird, wenn das Gerät zu einer anderen Adresse als 192.168.99.0 / 24 und nicht 10.10.10.0 / 24 geht. Das heißt, wenn das Standard-Gateway verwendet wird. Die Metrik (xxx) sollte höher als alles andere sein, um sicherzustellen, dass die Regel verwendet wird. Die Schnittstelle (yyy) muss eine zu verwendende Schnittstelle sein. Aber ich glaube nicht, dass es eine Möglichkeit gibt zu kontrollieren, welche IP-Adresse auf dieser Schnittstelle verwendet werden soll, wenn mehrere IP-Adressen vorhanden sind.
> Route hinzufügen 192.168.99.0 Maske 255.255.255.0 metrisch xxx wenn yyy
ist ähnlich, aber für jede 192.168.99.0/24 Adresse geht das System zu. Tatsache ist, dass die Zuweisung mehrerer IP-Adressen zu einer einzelnen Schnittstelle diese Art von Problemen haben kann.


1





Ich war in der Lage, Ihr Problem zu duplizieren: Es sieht so aus, als ob Windows das Tool verwendet niedrigste zugewiesene IP-Adresse an einer gegebenen Netzwerkschnittstelle als die "ausgehende", unabhängig von der tatsächlichen Reihenfolge, in der sie zugewiesen wurden.

Ich konnte keine Dokumentation über dieses Verhalten finden, aber ich bin mir ziemlich sicher, dass es von Entwurf ist.


Bearbeiten

Ich denke, das ist wirklich nicht möglich bei der O.S. Ebene, aber es kann durch Code in Ihrer Anwendung erfolgen: Ein Socket kann explizit an ein ausgewähltes IP-Adresse / Port-Paar gebunden werden Vor Verbinden Sie es mit dem Remote-Endpunkt. Sie müssen jedoch Bibliotheken auf niedrigerer Ebene als die Standard-Webdienste verwenden. I.E. Sie müssen einen Socket manuell öffnen, verbinden und zum Lesen / Schreiben von Daten verwenden.

.NET / C # -Beispiel:

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

Dies öffnet eine Verbindung zu 1.2.3.4:80 von 192.168.99.100:4242, so dass der Remote-Host es von genau dieser IP-Adresse kommen sehen wird.

Durch die Verbindung mit IIS versucht es zu testen und protokolliert die Anfrage als von der angegebenen IP-Adresse kommend.


1



Ich lese etwas, das ein binärer Vergleich mit der IP-Adresse sein könnte? - Cédric Boivin
Ja, binärer Vergleich ist sehr wahrscheinlich die Art und Weise, "die niedrigste" ausgewählt wird; Ich habe jedoch nicht mit IPs aus verschiedenen Subnetzen versucht. - Massimo
Mein größtes Problem zu dieser Zeit ist, dass ich mehr als 300 Webseiten auf mehreren IP-Adressen bekam, und wenn mein Server ins Internet geht, um einen anderen Server (Webdienst) anzurufen, kann ich nicht sicher sein, welche öffentliche IP mein Server haben wird. - Cédric Boivin
Danke für diese Antwort, aber in meinem Szenario ist es unmöglich, diese Lösungen anzuwenden. Die Lösungen müssen vom Betriebssystem oder der Firewall stammen. Es ist ein guter Weg, um das Problem durch Anwendung zu lösen, aber wir gehen zu vielen Anwendungen, um die Probleme auf jeder Website zu lösen. - Cédric Boivin
Aber selbst wenn Sie in der Lage wären zu tun, was Sie wollen, können Sie nicht verschiedene Websites verwenden, die unterschiedliche IPs verwenden. Auf diese Weise könntest du :-) - Massimo


Die Auswahl der Quelladresse für einen ausgehenden Anruf wird seit der Überarbeitung von Vista vom TCP / IP-Stack unterschiedlich gehandhabt. In XP / 2003 und früheren Versionen wurde die Quelladresse von der Routentabelle bestimmt, wenn sie von der Anwendung, die den ausgehenden Aufruf tätigt, nicht explizit deklariert wurde. Seit Vista / 2008 könnte die Quelladresse durch Präfix-Affinität für die Ziel- oder die nächste Sprung-Gateway-Adresse bestimmt werden, wenn das Ziel nicht lokal ist. Der folgende Technet Blogbeitrag erklärt die Verhaltensänderung sehr gut.

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


1





Ich habe Windows 2008 R2 SP1 x 64 Enterprise Edition als Webserver mit One NIC verwendet.

Ich stieß auf das gleiche Problem, das oben beschrieben wurde. Ich möchte, dass die Outbound-Verbindungen von der Standard-IP-Adresse (der vom Server signierten) gehandhabt werden, aber sie wählt nach dem Zufallsprinzip aus, welche IP-Adresse von meinen 10 IP-Adressen für die 10 Websites auf diesem Server lautet.

Sie alle zeigen als bevorzugte IP-Adressen an, wenn Sie den folgenden Befehl ausführen.

Netsh int ipv4 show ipaddresses level=verbose

Ich habe versucht, den Hot Fix herunterzuladen, aber aus irgendeinem Grund (und ich verdopple, verdreifachte) sagte er: "Es kann nicht mit dieser OS-Version laufen." Wenn ihr es versuchen wollt hier ist es.

Wenn Sie MS DNS Server laufen haben, werden Sie feststellen, dass der Name des SAME Servers 11 mal (in meinem Fall) 1 IP für den Server und 10 IP für jede der Webseiten registriert wird.

Was ich glaube, es könnte ein Problem sein (zu diesem Zeitpunkt, es sei denn, jemand anderes hat eine bessere Lösung)

Um zu dem Windows-Server unter den TCP-Eigenschaften zu gelangen, wo Sie die IP-Adressen für den Server und die Webseiten eingegeben haben, sehen Sie dort eine DNS-Registerkarte. Jetzt UNCHECK die ANMELDUNG ADRESSEN REGISTRIEREN und den Server neu starten (und nicht angehakt).

Wenn Sie den DNS-Server einchecken, sind alle DNS-Einträge mit den IP-Adressen verschwunden.

Jetzt Geben Sie MANUELL in DNS den Servernamen und die bevorzugte IP-Adresse ein. Und es sollte das Problem beheben.

Wenn einer von euch eine bessere Lösung hat, teilen Sie uns bitte mit.

Grippe: Nicht sicher, warum MS dieses Problem nicht behoben hat. Sie sollten eine Option (wie ein Kontrollkästchen) für Server erstellt haben, die mehrere IP-Adressen im selben Subnetz enthält, damit Sie auswählen können, welche IP-Adresse bevorzugt werden soll.


1





Eine 'Standardadresse' ist diejenige, die in das erste Eingabefeld der Eigenschaften der Schnittstellenkarte eingetragen wird, da sie standardmäßig mit dieser Adresse antwortet, alle anderen werden als sekundär betrachtet.

(ISA Server ist ein gutes Beispiel für dieses Verhalten, da Sie nicht sagen können, dass es mit der IP antwortet, mit der es kontaktiert wurde ...)


0



Es soll so sein, aber arbeite nicht. In meinem Fall ist die IP 99.49 in der erweiterten Konfiguration und die 99.100 ist diejenige, die in der Eigenschaft von ipv4 angeben .... - Cédric Boivin
Das ist wirklich seltsam, da unsere Infrastruktur dies für Webserver-Filter und so weiter verwendet. Haben Sie versucht, alle IP-Adressen aus den Karteneigenschaften zu entfernen, mit Ausnahme der Standardwerte, die Sie anwenden möchten, und diese anschließend wieder einfügen? - Alexandre Nizoux
Ja, ich versuche es und das gleiche Problem tritt auf, wenn ich 99.49 eingebe - Cédric Boivin
ist 99.49 die niedrigste deiner IPs? - Alexandre Nizoux
Ja, Sie können meine ipconfig oben sehen - Cédric Boivin


Ich habe eine Lösung gefunden:

  • auf der primären nic, entfernen Sie die IP, die Sie wollen, als Standard, entfernen Sie auch Standard gw, geben Sie es hohe metrische (Beispiel: 50)
  • füge sekundäre NIC hinzu, gib ihr IP als 'Standard', setze hier Standard GW und auf fortgeschrittenem Tab setze niedrigste Metrik (Beispiel: 1)

Dies funktionierte in meinem 2008R2 / IIS7 mit 20 IP-Adressen.

BR, Matija


0