Actualice el nombre de host de la máquina Debian con DHCP a un servidor DNS de Windows 2008

9

Tengo una instalación de XenServer con máquinas Debian (lenny) creadas diariamente usando un script que crea la máquina a partir de una plantilla y le asigna un nuevo nombre de host.

Nuestra red tiene un dispositivo Fortinet 60B que sirve como servidor DHCP y un Microsoft Windows 2008 DC que también sirve como servidor DNS. Me gustaría configurar la plantilla VM para enviar su nombre de host al servidor DNS cuando reciba una IP arrendada de DHCP.

Actualmente, Fortinet asigna el DC como el servidor DNS junto con el arrendamiento de IP. Intenté agregar una línea 'enviar nombre de host "mi-nombre-host"' a /etc/dhcp3/dhclient.conf, pero nada se actualiza en DC.

Monje electrico
fuente
2
¿Ha configurado su servidor DNS de Windows para permitir actualizaciones no autenticadas?
Zoredache

Respuestas:

2

Entonces, ¿básicamente quieres que tu cliente envíe su nombre de host a tu servidor DNS?

Esto funciona muy bien con los clientes de Windows, pero para las máquinas Linux, sería al revés: configure a sus clientes para que le pidan al servidor DHCP una IP y un nombre de host. Usando la opción "solicitar nombre de host", dhclient le pide al servidor DHCP que envíe un nombre de host junto con la dirección IP, luego establece el nombre de host de la VM.

Por supuesto, deberá preparar, en su DNS, un nombre de host para cada dirección IP en el rango de DHCP.

De esta manera, no tiene el problema de la caché DNS / retraso de propagación, y puede tener un lugar central con todas las direcciones IP y nombres de host: su servidor DNS.

No sé si el servidor DHCP de su dispositivo admite el envío de nombres de host, la mayoría lo hace, pero creo que esa es la forma más fácil para los clientes de Linux.

Nota: Si configuró su servidor DHCP para que la misma máquina siempre obtenga la misma dirección IP (por ejemplo, usando la dirección MAC), obviamente, también obtendrá siempre el mismo nombre de host. En algunos servidores DHCP, puede usar directamente el nombre de host en lugar de la dirección IP en los archivos de configuración.

usuario9437
fuente
esto no funcionará, ya que estoy configurando el nombre de host en un script que lo toma (el nombre de host) como argumento.
Monje eléctrico
2

Terminé usando un script que ejecuta nsupdate después de que VM se crea desde la plantilla y en cada arranque.

Monje electrico
fuente
1

Esto es algo similar a mi propia pregunta . Eche un vistazo a mi comentario final sobre la única respuesta que recibí, donde me refiero a dhclient.conf.

John Gardeniers
fuente
así que, básicamente, ¿acabas de agregar 'enviar nombre de host' a dhclient.conf? porque esto no funcionó para mí
Electric Monk
Eso es todo lo que tenía que hacer. La página de manual indica que se requiere el FQDN, pero en mi caso simplemente enviar el nombre de host funcionó con los sistemas DHCP y DNS de Windows y Linux. El servicio DHCP agregó las máquinas a DNS tan pronto como el contrato de arrendamiento DHCP del cliente fue liberado y recreado.
John Gardeniers
1

Dos cosas que encontré que eran necesarias para que una máquina sin dominio unido se registre y actualice sus registros DNS en un servidor Windows DC \ DNS:

  1. Configure el servidor DC \ DNS para permitir actualizaciones de DNS dinámicas seguras y no seguras.

  2. Configure el FQDN del host unido sin dominio para que coincida con su nombre AD \ DNS: como en host.domain.com

joeqwerty
fuente
1

Hmm Nunca probé esta configuración exacta: he tenido esto trabajando con clientes Linux para servidores DHCP de Windows, pero en esa configuración el servidor DHCP realiza la actualización. No estoy seguro si la caja Fortinet hace lo mismo.

Puede intentar hacer que el cliente hable directamente con el servidor DNS; algo como:

send fqdn.server-update off;
send fqdn.encoded on;
send fqdn.fqdn "hostname.example.com.";  

en /etc/dhcp3/dhclient.conf. Consulte man dhclient.confpara más información. Tuve que configurar al menos send fqdn.fqdnpara que funcione en mi configuración.

También deberá habilitar actualizaciones inseguras en sus zonas DNS.

James
fuente
1

Muchos pueden considerar esto claramente obvio, pero asegúrese de especificar su propia directiva de solicitud en la dhclient.confque no solicite un nombre de host o nombre de dominio . El valor predeterminado en mi distribución era:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;

Tenga en cuenta que esto solicita nombres de host y de dominio del servidor, lo que anula una send host-name ...directiva. Mi solicitud y las directivas send-host se ven así:

send host-name "leaf.node.domain.com";
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name-servers,
        netbios-name-servers, netbios-scope, interface-mtu;
RobM
fuente