An den zweiten DNS-Namen eines Servers kann keine MSMQ-Nachricht gesendet werden.

An den zweiten DNS-Namen eines Servers kann keine MSMQ-Nachricht gesendet werden.

Habe das auf StackOverflow gepostet, aber ich denke, dass es für diese Leute wahrscheinlich relevanter ist.

Ich habe ein Problem beim Senden einer MSMQ-Nachricht an den zweiten DNS-Namen auf einem Server. Wenn wir die IP für denselben Server senden, ist alles in Ordnung, aber das ist architektonisch nicht unser Ziel. Irgendwelche Ideen, warum MSMQ sich darum kümmern sollte, welchen Namen es erhält?

Hier ist unser Beispiel:

Serverinformationen: Der physische Server load-int-01 hat eine zweite IP und einen DNS-Namen. Erste IP/DNS: load-int-01, mit IP 10.0.10.10Zweite IP/DNS: load-intv, mit IP10.0.10.20

Verwendete Warteschlangenpfadformate:

FormatName:DIRECT=OS:load-int-01\private$\MyQueue-> Funktioniert einwandfrei

FormatName:DIRECT=OS:load-intv\private$\MyQueue-> Gibt den folgenden Fehler zurück:

Die Warteschlange existiert nicht oder Sie verfügen nicht über die erforderlichen Berechtigungen, um diesen Vorgang auszuführen

Wir haben auch versucht, stattdessen die IP-Adressen zu verwenden, und beide IP-Sätze funktionieren einwandfrei.

FormatName:DIRECT=TCP:10.0.10.10\private$\MyQueue-> Funktioniert einwandfrei FormatName:DIRECT=TCP:10.0.10.20\private$\MyQueue-> Funktioniert einwandfrei

Antwort1

Könnte an der umgekehrten Suche liegen. Ich bin nicht sicher, wie MSMQ seine Hostnameninformationen erhält, aber wenn es den Hostnamen von Windows erhält und nicht den DNS-Hostnamen der zweiten IP, würde eine umgekehrte Suche nach der zweiten IP fehlschlagen, da sie den zweiten DNS-Hostnamen zurückgeben würde, der sich vom tatsächlichen Hostnamen des Servers unterscheidet.

Antwort2

Verwenden Sie zur Auflösung über DNS statt der IP-Adresse den DNS-Namen, und zwar auf diese Weise – beide sollten aufgelöst werden:

FORMATNAME:Direct=OS:load-intv\private$\MyQueue
FORMATNAME:Direct=OS:load-int-01\private$\MyQueue 

Führen Sie zusätzlich das folgende Registrierungsskript auf dem MSMQ-Server aus (perhttp://support.microsoft.com/kb/306785):

reg.exe ADD HKLM\Software\Microsoft\MSMQ\Parameters /V IgnoreOSNameValidation /t REG_DWORD /d 1 /f

Antwort3

MSMQ erwartet wahrscheinlich, dass der NetBIOS-Name des Computers mit dem DNS-Hostnamen übereinstimmt, der verwendet wurde, um dorthin zu gelangen. Es ist das gleiche Problem, das Sie haben, wenn Sie versuchen, ein Laufwerk mit einem CNAME einem Windows-Server zuzuordnen.

Es besteht die Möglichkeit, durch Hinzufügen eines Registrierungseintrags einen Aliasnamen dafür festzulegen:

HKEY_Local_Machine\System\CurrentControlSet\Services\LanmanServer\Parameters
Add Value: OptionalNames REG_SZ with as value the name of the alias 
If you make it a type REG_MULTI_SZ, you can add multiple aliases.

Antwort4

Senden Sie von derselben Maschine (lokal an load-intv) oder von einer Remote-Maschine?

Und welche IP-Adressen werden tatsächlich zurückgegeben, wenn Sie DNS nach load-intv und load-int-01 abfragen? Nur die, die Sie erwähnen – 10.0.10.20 bzw. 10.0.10.10 – oder noch weitere?

Sind HOSTS-Dateien beteiligt? Wenn ja, haben Sie andere DNS-Namen, die 10.0.10.20 zugeordnet sind?

Grüße, John Breakwell (MSFT)

verwandte Informationen