No se puede enviar un mensaje MSMQ al segundo nombre DNS de un servidor

No se puede enviar un mensaje MSMQ al segundo nombre DNS de un servidor

Publiqué esto en StackOverflow, pero creo que probablemente sea más relevante para esta multitud.

Tengo un problema al enviar un mensaje MSMQ al segundo nombre DNS en un servidor. Si enviamos la IP para ese mismo servidor, estamos bien, pero no es ahí a donde vamos arquitectónicamente. ¿Alguna idea de por qué a MSMQ le importaría el nombre que recibe?

Aquí está nuestro ejemplo:

Información del servidor: el servidor físico load-int-01 tiene una segunda IP y un nombre DNS asociados. Primera IP/DNS: load-int-01, con IP 10.0.10.10Segunda IP/DNS: load-intv, con IP10.0.10.20

Formatos de ruta de cola utilizados:

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

FormatName:DIRECT=OS:load-intv\private$\MyQueue-> Devuelve el siguiente error:

La cola no existe o no tienes permisos suficientes para realizar esta operación

También intentamos usar las direcciones IP y ambos conjuntos de IP funcionan bien.

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

Respuesta1

Podría deberse a una búsqueda inversa. No estoy seguro de cómo obtiene MSMQ la información del nombre de host, pero si obtiene el nombre de host de Windows y no el nombre de host DNS de la segunda IP, entonces una búsqueda inversa de la segunda IP fallaría ya que devolvería el segundo nombre de host DNS, que es diferente. luego el nombre de host real del servidor.

Respuesta2

Para resolver a través de DNS, use el nombre DNS en lugar de la IP de esta manera; ambos deberían resolverse:

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

Además, ejecute el siguiente script de registro en el servidor MSMQ (segúnhttp://support.microsoft.com/kb/306785):

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

Respuesta3

MSMQ probablemente espera que el nombre netbios de la computadora coincida con el nombre de host dns utilizado para llegar allí. Es el mismo problema que tienes cuando intentas utilizar un CNAME para asignar una unidad a un servidor de Windows.

Hay una manera de asignarle un alias al nombre agregando una 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.

Respuesta4

¿Está enviando en la misma máquina (local a load-intv) o desde una máquina remota?

Además, ¿qué direcciones IP se devuelven realmente cuando consulta DNS para load-intv y load-int-01? ¿Solo los que mencionas (10.0.10.20 y 10.0.10.10 respectivamente) o más?

¿Algún archivo HOSTS involucrado? Si es así, ¿tiene otros nombres DNS asignados a 10.0.10.20?

Saludos John Breakwell (MSFT)

información relacionada