서버의 두 번째 DNS 이름으로 MSMQ 메시지를 보낼 수 없습니다.

서버의 두 번째 DNS 이름으로 MSMQ 메시지를 보낼 수 없습니다.

이것을 StackOverflow에 게시했지만 아마도 이 군중에게는 더 관련이 있을 것 같습니다.

MSMQ 메시지를 서버의 두 번째 DNS 이름으로 보내는 데 문제가 있습니다. 동일한 서버에 대해 IP를 보내면 문제가 없지만 구조적으로는 그렇게 되지 않습니다. MSMQ가 어떤 이름을 받는지 관심을 갖는 이유에 대한 아이디어가 있습니까?

다음은 우리의 예입니다:

서버 정보: 물리적 서버 load-int-01에는 두 번째 IP 및 DNS 이름이 연결되어 있습니다. 첫 번째 IP/DNS: load-int-01, IP 있음 10.0.10.10두 번째 IP/DNS: load-intv, IP 있음10.0.10.20

사용된 대기열 경로 형식:

FormatName:DIRECT=OS:load-int-01\private$\MyQueue-> 잘 작동합니다

FormatName:DIRECT=OS:load-intv\private$\MyQueue-> 다음 오류를 반환합니다.

대기열이 존재하지 않거나 이 작업을 수행할 권한이 부족합니다.

또한 대신 IP 주소를 사용해 보았으며 두 IP 세트 모두 잘 작동합니다.

FormatName:DIRECT=TCP:10.0.10.10\private$\MyQueue-> 잘 작동해요 FormatName:DIRECT=TCP:10.0.10.20\private$\MyQueue-> 잘 작동해요

답변1

역방향 조회로 인해 발생할 수 있습니다. MSMQ가 호스트 이름 정보를 어떻게 가져오는지는 잘 모르겠지만 두 번째 IP의 DNS 호스트 이름이 아닌 Windows에서 호스트 이름을 가져오는 경우 두 번째 IP에 대한 역방향 조회는 다른 두 번째 DNS 호스트 이름을 반환하므로 실패합니다. 그런 다음 서버의 실제 호스트 이름입니다.

답변2

DNS를 통해 확인하려면 이 방법으로 IP 대신 DNS 이름을 사용하세요. 두 가지 모두 다음을 확인해야 합니다.

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

또한 MSMQ 서버에서 다음 레지스트리 스크립트를 실행합니다.http://support.microsoft.com/kb/306785):

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

답변3

MSMQ는 아마도 컴퓨터의 netbios 이름이 거기에 도달하는 데 사용된 DNS 호스트 이름과 일치할 것으로 예상하고 있을 것입니다. 이는 CNAME을 사용하여 드라이브를 Windows 서버에 매핑하려고 할 때 발생하는 것과 동일한 문제입니다.

레지스트리 항목을 추가하여 이름의 별칭을 지정하는 방법이 있습니다.

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.

답변4

동일한 시스템(로컬에서 load-intv까지)에서 전송하고 있습니까, 아니면 원격 시스템에서 전송하고 있습니까?

또한 DNS에 load-intv 및 load-int-01을 쿼리할 때 실제로 반환되는 IP 주소는 무엇입니까? 당신이 언급한 것(각각 10.0.10.20 및 10.0.10.10)입니까, 아니면 추가입니까?

관련된 HOSTS 파일이 있나요? 그렇다면 10.0.10.20에 매핑된 다른 DNS 이름이 있습니까?

존 브레이크웰(MSFT)에게 건배

관련 정보