Cómo asignar el nombre de host de VM pordefinición en la interfaz de red virtual libvirt

Cómo asignar el nombre de host de VM pordefinición en la interfaz de red virtual libvirt

Host de estación de trabajo Fedora 30, invitados del servidor Fedora 30 (netinstall). No soy un experto en todo este loco tema de las redes Linux ni en leer un montón de materiales por ahí y por allá. Entonces tengo la interfaz de red virtual libvirt:

<network>
  <name>ocp-cluster</name>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr-ocpc' stp='on' delay='0'/>
  <mac address='52:54:00:2c:01:00'/>
  <domain name='ocp.domain.local' localOnly='no'/>
  <dns>
    <forwarder addr='192.168.130.10'/>
  </dns>
  <ip address='192.168.131.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.131.50' end='192.168.131.254'/>
      <host mac='52:54:00:2c:01:10' name='lb-1.ocp.domain.local' ip='192.168.131.10'/>
      <host mac='52:54:00:2c:01:11' name='bootstrap.ocp.domain.local' ip='192.168.131.11'/>
      <host mac='52:54:00:2c:01:12' name='master-1.ocp.domain.local' ip='192.168.131.12'/>
      <host mac='52:54:00:2c:01:13' name='worker-1.ocp.domain.local' ip='192.168.131.13'/>
    </dhcp>
  </ip>
</network>

pero cuando creo nuevas máquinas virtuales y asigno la dirección MAC correcta a la interfaz de red (manualmente o en kickstart --mac 52:54:00:2c:01:10 \), el nombre de host asignado a esa dirección MAC no está configurado para la máquina virtual. Pero si entendí bien la documentación de libvirt, debería asignarse. ¿Está relacionado con <dns><forwarder ardr...>? En mi caso, 192.168.130.10es una dirección de DNSmasq VM que utiliza un puente NAT independiente. Claro, puedo asignar un nombre de host en el archivo kickstart network --hostname=lb-1.ocp.domain.local, pero quiero entender cómo <host name...>funciona esto. La dirección IP de la VM está asignada correctamente.

Respuesta1

El atributo de nombre de los miembros anfitriones no es el que desea. De manera confusa, la forma correcta de hacer esto es usar la sección DNS en lugar de la sección IP. Agregar el atributo de nombre hace que la coincidencia sea demasiado restrictiva (aunque no he investigado por qué sucede exactamente esto), razón por la cual no se aplica a sus máquinas. Pruebe algo como esto en su lugar:

<network>
  ...
  <dns>
    <host ip='192.168.131.10'>
      <hostname>lb-1.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.11'>
      <hostname>bootstrap.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.12'>
      <hostname>master-1.ocp.domain.local</hostname>
    </host>
    <host ip='192.168.131.13'>
      <hostname>worker-1.ocp.domain.local</hostname>
    </host>
  </dns>
  <ip address='192.168.131.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.131.50' end='192.168.131.254'/>
      <host mac='52:54:00:2c:01:10' ip='192.168.131.10'/>
      <host mac='52:54:00:2c:01:11' ip='192.168.131.11'/>
      <host mac='52:54:00:2c:01:12' ip='192.168.131.12'/>
      <host mac='52:54:00:2c:01:13' ip='192.168.131.13'/>
    </dhcp>
  </ip>
</network>

Y como puedo ver que estás intentando instalar OpenShift, también agregaré que no necesitas realizar esta configuración manualmente. El instalador es compatible con libvirt; sólo tienes que compilarlo desde el código fuente con el indicador correcto. Esto está cubierto enlos documentos(Ese enlace es a una confirmación específica en el historial; los futuros lectores querrán ver la última revisión de esos documentos).

información relacionada