使用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" />