Windows Server 2008: Festlegen der Standard-IP-Adresse, wenn die Netzwerkkarte mehrere Adressen hat

23

Ich habe einen Windows Server mit ~ 10 statisch gebundenen IP-Adressen. Das Problem ist, dass ich nicht weiß, wie ich die Standard-IP-Adresse angeben soll.

Wenn ich der Netzwerkkarte eine neue Adresse zugebe, ändert sich die Standard-IP-Adresse manchmal mit der zuletzt in der erweiterten IP-Konfiguration auf der Netzwerkkarte eingegebenen IP. Dies hat den Effekt (da ich NAT verwende), dass sich auch die ausgehende öffentliche IP ändert.

Auch wenn dieses Problem derzeit unter Windows Server 2008 auftritt.

Wie können Sie die Standard-IP-Adresse für eine Netzwerkkarte festlegen, an die mehrere IP-Adressen gebunden sind?

Es gibt mehr Erklärungen zu meinem Problem.

Alternativtext 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 pathpingdort eine Antwort tue, ist die 99.49 die erste, 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]

Auf dem Computer befindet sich die Routing-Tabelle:

 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 so 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 Image verwendete IP-Adresse (angeblich die Standard-IP-Adresse) von meinem Server als Standardadresse verwendet wird?

Cédric Boivin
quelle

Antworten:

11

Mit Server 2008 Service Pack 2 (nicht R2) oder Vista SP2 und MS Hotfix KB975808 gibt es eine Lösung, wenn auch etwas ungeschickt. Sie entfernen alle Adressen, die Sie NICHT als Quelle benötigen, und fügen sie dann über die Befehlszeile erneut hinzu

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

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

In diesem TechNet-Blogbeitrag erfahren Sie, wie verschiedene Windows-Versionen Quell-IPs auswählen .

Paul
quelle
6

Es gibt keine "Standard-IP" für eine Netzwerkschnittstelle. Vielmehr definiert Ihre Systemroutingtabelle, welche logische Schnittstelle für die Kommunikation mit anderen Geräten verwendet werden soll.

Es hört sich so an, als ob Sie eine Standardroute konfigurieren möchten. Dies würde dazu führen, dass alle von diesem Computer initiierten Gespräche über eine bestimmte IP-Adresse geführt werden.

Verwenden Sie route add, um ein Standardgateway hinzuzufügen

Brian Tillman
quelle
Wie ich meine Routing-Tabelle ändern kann, ist eigentlich die 99.49. Ich muss die Standardroute 99.100 sein
Cédric Boivin
Das Standard-Gateway ist die Standardroute und umgekehrt. Es ist nur eine Frage der Terminologie.
Kevin M
Ich weiß das, kann aber die Standardroute nicht ändern. Wie kann ich das ändern? Was ist die richtige Befehlsformel
Cédric Boivin
1
Versuchen Sie Folgendes: "route add 0.0.0.0 mask 0.0.0.0 192.168.99.100 metric 2"
Jeff Miles
Wenn ich das tue, kann ich nicht mehr ins Internet gehen, weil es ein falsches Gateway ist.
Cédric Boivin
2

Ihre Situation ist nicht ganz klar, aber wenn ich Sie richtig verstehe:
1) Warum setzen Sie nicht einfach Ihre "Muss-Standard" -IP als letzte?

2) Oder versuchen Sie es einfach (vorausgesetzt, die Gateway-Adresse lautet 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

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

Alexey Shatygin
quelle
Nicht funktionieren, die Befehle sind nicht gut. Fehler, angegebene Datei kann nicht gefunden werden
Cédric Boivin
versuche es ohne "if": route -p füge 192.168.99.1 mask 255.255.255.255 192.168.99.100 hinzu aber es sollte funktionieren, könntest du den Fehler bitte 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 einfügen?
Alexey Shatygin
Und bevor Sie den Befehl
ausführen
1

Könnten 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 Metrik mit einem Wert unter 261 zu (siehe Abbildung).

Jeff Miles
quelle
Ich werde das versuchen, es ist eine gute Idee.
Cédric Boivin
Funktioniert nicht, siehe meine Änderung in meinem Beitrag.
Cédric Boivin
Gibt es eine Möglichkeit, die Schnittstellenadresse zu ändern?
Cédric Boivin
1

Ein Befehl in der Form:
> route add 0.0.0.0 mask 0.0.0.0 192.168.99.1 metric xxx, wenn yyy
die Adresse ändert, die angezeigt wird, wenn die Maschine zu einer Adresse wechselt, die nicht 192.168.99.0 / 24 oder 10.10.10.0 / 24 lautet . Das heißt, wenn das Standardgateway verwendet wird. Die Metrik (xxx) sollte höher als alles andere sein, um sicherzustellen, dass die Regel verwendet wird. Die Schnittstelle (JJJ) muss eine zu verwendende Schnittstelle sein. Ich glaube jedoch nicht, dass es eine Möglichkeit gibt, zu steuern, welche IP-Adresse auf dieser Schnittstelle verwendet werden soll, wenn mehrere IP-Adressen vorhanden sind.
> route add 192.168.99.0 mask 255.255.255.0 metric xxx wenn yyy
ähnlich ist, aber für jede 192.168.99.0/24 Adresse, zu der das System geht. Tatsache ist, dass das Zuweisen mehrerer IP-Adressen zu einer einzelnen Schnittstelle solche Probleme verursachen kann.

Beau Geste
quelle
1

Ich konnte Ihr Problem duplizieren: Es sieht so aus, als würde Windows die niedrigste zugewiesene IP-Adresse auf einer bestimmten Netzwerkschnittstelle als "ausgehende" verwenden, unabhängig von der tatsächlichen Reihenfolge, in der sie zugewiesen wurden.

Ich konnte keine Dokumentation zu diesem Verhalten finden, bin mir aber ziemlich sicher, dass es beabsichtigt ist.


Bearbeiten

Ich denke, dass dies auf Betriebssystemebene nicht möglich ist, aber durch Code in Ihrer Anwendung: Ein Socket kann explizit an ein ausgewähltes IP-Adresse / Port-Paar gebunden werden, bevor es mit dem Remote-Endpunkt verbunden wird. Sie müssen jedoch Bibliotheken auf niedrigerer Ebene als Standard-Webdienste verwenden. Sie müssen also manuell einen Socket öffnen, ihn anschließen 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

Dadurch wird eine Verbindung zu 1.2.3.4:80 hergestellt, die von 192.168.99.100:4242 stammt, sodass der Remotehost erkennt, dass sie von genau dieser IP-Adresse stammt.

Erprobt durch Herstellen einer Verbindung zu IIS wird die Anforderung von der angegebenen IP-Adresse protokolliert.

Massimo
quelle
Ich habe irgendwo gelesen, dass dies ein binärer Vergleich mit der IP-Adresse sein könnte.
Cédric Boivin
1
Ja, binärer Vergleich ist sehr wahrscheinlich die Art und Weise, wie "der niedrigste" ausgewählt wird. Ich habe es jedoch nicht mit IPs versucht, die zu verschiedenen Subnetzen gehören.
Massimo
Mein größtes Problem zu diesem Zeitpunkt ist, dass ich über 300 Websites mit mehreren IP-Adressen habe. Wenn mein Server ins Internet geht, um einen anderen Server (Webservice) aufzurufen, kann ich nicht sicher sein, welche öffentliche IP-Adresse mein Server haben wird.
Cédric Boivin
Vielen Dank für diese Antwort, aber in meinem Szenario ist es unmöglich, diese Lösungen anzuwenden. Die Lösungen müssen vom Betriebssystem oder von 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, das zu tun, was Sie möchten, könnten Sie nicht dafür sorgen, dass verschiedene Websites unterschiedliche IP-Adressen verwenden. Auf diese Weise könnten Sie :-)
Massimo
1

Die Auswahl der Quelladresse für einen ausgehenden Anruf wird vom TCP / IP-Stack seit der Vista-Überarbeitung anders gehandhabt. In XP / 2003 und früheren Versionen wurde die Quelladresse anhand der Routentabelle ermittelt, wenn sie von der Anwendung, die den ausgehenden Anruf ausführt, nicht explizit deklariert wurde. Seit Vista / 2008 kann die Quelladresse durch Präfixaffinität zum Ziel oder zur Gateway-Adresse für den nächsten Hop bestimmt werden, wenn das Ziel nicht lokal ist. Der folgende Technet-Blog-Beitrag 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

Brian Mellinger
quelle
1

Ich verwende Windows 2008 R2 SP1 x64 Enterprise Edition als Webserver mit einer Netzwerkkarte.

Ich bin auf dasselbe Problem gestoßen, das oben beschrieben wurde. Ich möchte, dass die ausgehenden Verbindungen über die Standard-IP-Adresse (die am Server signierte) abgewickelt werden, aber es wird weiterhin zufällig ausgewählt, welche IP-Adresse aus meinen 10 IP-Adressen für die 10 Websites auf diesem Server ausgewählt wird.

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

Netsh int ipv4 show ipaddresses level=verbose

Ich habe versucht, das Hotfix herunterzuladen, aber aus irgendeinem Grund (und ich habe es doppelt, dreifach überprüft) wurde darauf hingewiesen, dass es unter dieser Betriebssystemversion nicht ausgeführt werden kann .

Wenn Sie einen MS DNS-Server verwenden, werden Sie feststellen, dass der SAME-Servername elfmal registriert wird (in meinem Fall). 1 IP für den Server und 10 IP für jede der Websites.

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

Soll unter den TCP-Eigenschaften zum Windows-Server gewechselt werden, wo Sie die IP-Adressen für den Server und die Websites eingegeben haben, sehen Sie dort eine Registerkarte DNS. Jetzt DEAKTIVIEREN SIE DIE REGISTRIERUNG DER VERBINDUNGSADRESSEN und starten Sie den Server neu (und lassen Sie das Kontrollkästchen deaktiviert).

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

Jetzt manuell eingeben in DNS die Servernamen und die bevorzugten IP - Adresse . Und es sollte das Problem beheben.

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

Beschwerde: 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 haben, damit Sie auswählen können, welche IP-Adresse bevorzugt werden soll.

Neo
quelle
0

Eine 'Standardadresse' ist die Adresse, die in das erste Eingabefeld in den Eigenschaften der Schnittstellenkarte eingegeben wurde, da sie standardmäßig mit dieser Adresse antwortet. Alle anderen Adressen gelten als sekundär.

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

Alexandre Nizoux
quelle
Es ist anzunehmen, dass es so ist, aber es funktioniert 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 häufig für Webserver-Filter und ähnliches nutzt. Haben Sie versucht, alle IP-Adressen aus den Karteneigenschaften zu entfernen, mit Ausnahme derjenigen, die Sie als Standard festlegen möchten? Übernehmen Sie diese und setzen Sie sie anschließend zurück.
Alexandre Nizoux
Ja, ich versuche es und das gleiche Problem tritt auf, wenn ich 99.49
Cédric Boivin
ist 99.49 die niedrigste Ihrer IPs?
Alexandre Nizoux
Ja, Sie können meine ipconfig oben sehen
Cédric Boivin
0

Ich habe eine Lösung gefunden:

  • Entferne auf deiner primären Netzwerkkarte die IP, die du als Standard haben willst, entferne auch die Standard-GW und gib ihr eine hohe Metrik (Beispiel: 50)
  • füge die sekundäre NIC hinzu, gib ihr die IP, die du als 'Standard' haben willst, setze hier die Standard-GW und setze auf der erweiterten Registerkarte die niedrigste Metrik (Beispiel: 1)

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

BR, Matija

user39080
quelle
0

Ich habe das Problem gelöst, indem ich die Netzmaske 255.255.255.255für alle zusätzlichen Adressen auf geändert und nur die Standardadresse unverändert gelassen habe.

Ich hoffe das löst für euch!

Aldo
quelle