Хост рабочей станции Fedora 30, сервер Fedora 30 (netinstall) Гости. Я не эксперт во всех этих сумасшедших сетевых штуках с Linux и не читаю кучу материалов тут и там. Итак, у меня есть виртуальный сетевой интерфейс 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>
но когда я создаю новые виртуальные машины и назначаю правильный MAC-адрес сетевому интерфейсу (вручную или в кикстарте --mac 52:54:00:2c:01:10 \
), имя хоста, назначенное этому MAC-адресу, не задано для виртуальной машины. Но если я правильно понял из документации libvirt - назначать надо. Это связано с <dns><forwarder ardr...>
? В моем случае 192.168.130.10
- это адрес виртуальной машины DNSmasq, которая использует отдельный мост NAT. Конечно, я могу назначить имя хоста в файле кикстарта network --hostname=lb-1.ocp.domain.local
, но я хочу понять, как это <host name...>
вещь работает. IP-адрес для ВМ назначен правильно.
Атрибут имени на элементах хоста - это не то, что вам нужно. Как ни странно, правильный способ сделать это - использовать раздел DNS вместо раздела IP. Добавление атрибута name делает сопоставление слишком ограничивающим (хотя я не разбирался, почему именно это происходит), поэтому это не относится к вашим машинам. Попробуйте вместо этого что-нибудь вроде этого:
<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>
И поскольку я вижу, что вы пытаетесь установить OpenShift, я также добавлю, что вам не нужно выполнять эту настройку вручную. Установщик поддерживает libvirt - вам просто нужно скомпилировать его из исходного кода с правильным флагом. Это описано в документы (эта ссылка указывает на конкретную фиксацию в истории - будущие читатели захотят взглянуть на последнюю версию этих документов).