Não é possível enviar uma mensagem do MSMQ para o segundo nome DNS de um servidor

6

Postou isso no StackOverflow, mas acho que é mais pertinente a essa multidão.

Estou com um problema ao enviar uma mensagem do MSMQ para o segundo nome DNS em um servidor. Se enviarmos o IP para o mesmo servidor, estamos bem, mas não é para onde estamos indo arquitetonicamente. Alguma idéia de por que o MSMQ se importaria com o nome que recebe?

Aqui está o nosso exemplo:

Informações do servidor: O servidor físico load-int-01 tem um segundo nome de IP e DNS associado a ele. Primeiro IP / DNS: load-int-01 , com IP 10.0.10.10 Segundo IP / DNS: load-intv , com IP 10.0.10.20

Formatos do caminho da fila usados:

FormatName:DIRECT=OS:load-int-01\private$\MyQueue - > Funciona bem

FormatName:DIRECT=OS:load-intv\private$\MyQueue - > Retorna o seguinte erro:

The queue does not exist or you do not have sufficient permissions to perform this operation

Nós também tentamos usar os endereços IP, e ambos os conjuntos de IPs funcionam bem.

FormatName:DIRECT=TCP:10.0.10.10\private$\MyQueue - > Funciona bem FormatName:DIRECT=TCP:10.0.10.20\private$\MyQueue - > Funciona bem

    
por Bob 04.06.2009 / 21:19

4 respostas

1

Pode ser devido à pesquisa inversa. Não tenho certeza de como o MSMQ obtém suas informações de nome de host, mas se estiver recebendo o nome do host do Windows e não o nome do host DNS do segundo IP, uma pesquisa inversa do segundo IP falhará, pois retornaria o segundo nome de host DNS diferente então o nome do host atual do servidor.

    
por 04.06.2009 / 21:49
3

Para resolver via DNS, use o nome DNS em vez do IP dessa maneira - ambos devem resolver:

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

Além disso, execute o seguinte script de registro no servidor MSMQ (por link ):

reg.exe ADD HKLM\Software\Microsoft\MSMQ\Parameters /V IgnoreOSNameValidation /t REG_DWORD /d 1 /f
    
por 29.03.2012 / 04:15
1

O MSMQ provavelmente está esperando que o nome do netbios do computador corresponda ao nome do host do DNS usado para chegar lá. É o mesmo problema que você tem quando tenta usar um CNAME para mapear uma unidade para um servidor Windows.

Existe uma maneira de aliasar o nome, adicionando uma entrada de registro:

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.
    
por 04.06.2009 / 22:58
0

Você está enviando na mesma máquina (local para carregar-intv) ou de uma máquina remota?

Além disso, quais endereços IP são realmente retornados quando você consulta o DNS para load-intv e load-int-01? Apenas aqueles que você menciona - 10.0.10.20 e 10.0.10.10, respectivamente - ou extras?

Algum arquivo HOSTS envolvido? Em caso afirmativo, você tem outros nomes DNS mapeados para 10.0.10.20?

Felicidades John Breakwell (MSFT)

    
por 05.06.2009 / 00:58