virt-manager:是否可以通过虚拟 DHCP 为某些虚拟机分配特定的 IP 地址?

virt-manager:是否可以通过虚拟 DHCP 为某些虚拟机分配特定的 IP 地址?

使用virt-manager相当成功。我想知道是否可以在虚拟 DHCP 服务器中指定某些虚拟机将具有特定的 IP 地址(也许通过 MAC 地址映射?)。

关于如何做到这一点有什么想法吗?否则我必须求助于更简单、不太优雅的解决方案,例如配置 IP 地址里面虚拟机。

答案1

AFAIKvirt-manager只能分配 MAC 地址。因此,您需要做的是设置 DHCP 服务器以将它们映射到特定的 IP 地址。

即使不同的计算机(例如您的路由器)通常提供 DHCP 地址,但无法轻松地以编程方式进行修改,您也可以在虚拟机的主机上设置 DHCP 服务器,该服务器仅服务于特定的 MAC 地址,只要这些地址不存在即可。在其他 DHCP 服务器给出的范围内,您不会遇到问题。

由Pavel的评论提示更新,您可以设置通过 libvrt 的 IP 地址(尽管我宁愿将所有 IP 地址放在一个地方)

...
<mac address='00:16:3E:5D:C7:9E'/>
<domain name="example.com"/>
<dns>
  <txt name="example" value="example value" />
  <forwarder addr="8.8.8.8"/>
  <forwarder addr="8.8.4.4"/>
  <srv service='name' protocol='tcp' domain='test-domain-name' target='.' port='1024' priority='10' weight='10'/>
  <host ip='192.168.122.2'>
    <hostname>myhost</hostname>
    <hostname>myhostalias</hostname>
  </host>
</dns>
<ip address="192.168.122.1" netmask="255.255.255.0">
  <dhcp>
    <range start="192.168.122.100" end="192.168.122.254" />
    <host mac="00:16:3e:77:e2:ed" name="foo.example.com" ip="192.168.122.10" />
    <host mac="00:16:3e:3e:a9:1a" name="bar.example.com" ip="192.168.122.11" />
  </dhcp>
</ip>
<ip family="ipv6" address="2001:db8:ca2:2::1" prefix="64" />
<route family="ipv6" address="2001:db9:ca1:1::" prefix="64" gateway="2001:db8:ca2:2::2" />

相关内容