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