
Host da estação de trabalho Fedora 30, convidados do servidor Fedora 30 (netinstall). Eu não sou um especialista em todas essas coisas malucas de redes Linux e leio uma tonelada de materiais aqui e ali. Então eu tenho a interface de rede 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>
mas quando eu crio novas VMs e atribuo o endereço MAC correto à interface de rede (manualmente ou no kickstart --mac 52:54:00:2c:01:10 \
), o nome do host atribuído a esse endereço MAC não está definido para a VM. Mas se entendi direito na documentação da libvirt - ela deveria ser atribuída. Está relacionado com <dns><forwarder ardr...>
? No meu caso, 192.168.130.10
é um endereço de DNSmasq VM que usa uma ponte NAT separada. Claro, posso atribuir o nome do host no arquivo kickstart network --hostname=lb-1.ocp.domain.local
, mas quero entender como isso <host name...>
funciona. O endereço IP da VM foi atribuído corretamente.
Responder1
O atributo name nos membros do host não é o que você deseja. Surpreendentemente, a maneira correta de fazer isso é usar a seção DNS em vez da seção IP. Adicionar o atributo name torna a correspondência muito restritiva (embora eu não tenha investigado exatamente por que isso acontece), e é por isso que não se aplica às suas máquinas. Em vez disso, tente algo assim:
<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>
E como posso ver que você está tentando instalar o OpenShift, também acrescentarei que você não precisa fazer essa configuração manualmente. O instalador suporta libvirt - você só precisa compilá-lo a partir do código-fonte com o sinalizador correto. Isso é abordado emos documentos(esse link é para um commit específico na história - futuros leitores vão querer dar uma olhada na última revisão desses documentos).