libvirt:在虚拟网络中使用 dhcp 设置主机名

libvirt:在虚拟网络中使用 dhcp 设置主机名

我已为 CentOS 7 主机上的一组虚拟机配置了仅主机(又称私有)网络。我在 DHCP 部分为虚拟网络创建了静态租约。

IP 地址设置正确,但主机名被忽略。相反,它会回退到临时主机名。以下是 的输出hostnamectl

Static hostname: n/a
Transient hostname: vmname
  Icon name: computer-vm
    Chassis: vm
 Machine ID: 7944dc3acb404c81b272fb8ac4b047fd
    Boot ID: ac7efda81d644700a9a51a9cff9c12cb
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
     Kernel: Linux 3.10.0-327.13.1.el7.x86_64
Architecture: x86-64

这是我的网络配置:

<network>
    <name>virtnet1</name>
    <bridge name="virbr1" />
    <ip address="10.2.2.101" netmask="255.255.255.0">
        <dhcp>
            <range start='10.2.2.30' end='10.2.2.99'/>
            <host mac='52:54:00:a3:5d:44' name='myhost' ip='10.2.2.9'/>
        </dhcp>
    </ip>
</network>

答案1

您需要设置DHCP 选项列表对于主持人来说。

标准 DHCP 类似如下:

host **foobar** {
hardware ethernet c0:18:85:e3:13:31;
fixed-address 10.1.1.129;
option domain-name "**example.org**";
option host-name "foobar";
ddns-hostname "**foobar.mydomain.com**";
}

编辑

对于 libvirt 来说就是这样的:请注意,你必须拥有 libvirt 的补丁,如下所示错误 824573已经活跃了一段时间。补丁信息可以找到这里

<network>
    <name>virtnet1</name>
    <bridge name="virbr1" />
    <ip address="10.2.2.101" netmask="255.255.255.0">
        <dhcp>
            <range start='10.2.2.30' end='10.2.2.99'/>
            <host mac='52:54:00:a3:5d:44' name='myhost' ip='10.2.2.9'/>
            <option number="12" value="foobar" /> 
            <option number="15" value="mydomain.com" />
            <option number="42" value="NTP Servers" />
            <option number="56" value="DHCP Message" />
        </dhcp>
    </ip>
</network>

相关内容