![KVM 中的 MacVTap 未从本地网络 DHCP 获取 IP 地址](https://linux22.com/image/1198991/KVM%20%E4%B8%AD%E7%9A%84%20MacVTap%20%E6%9C%AA%E4%BB%8E%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%20DHCP%20%E8%8E%B7%E5%8F%96%20IP%20%E5%9C%B0%E5%9D%80.png)
尝试创建一个KVM
带有MacVTap
接口的,但没有ip
分配给它
参考这些文档创建 kvm。
正确创建网络,即在域 XML 中添加接口,但虚拟机无法从本地网络的 DHCP 获取 IP 地址
以下是dumpxml
创建的 kvm:
<domain type='kvm' id='10'>
<name>vm1</name>
<uuid>08f1ffa4-7928-408e-962f-4918bc5aeea4</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-5.2'>hvm</type>
<boot dev='hd'/>
</os>
<cpu mode='custom' match='exact' check='full'>
<model fallback='forbid'>qemu64</model>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='lahf_lm'/>
<feature policy='disable' name='svm'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/vm1.qcow2' index='1'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<interface type='direct'>
<mac address='52:54:00:5a:ef:03'/>
<source dev='wlp2s0' mode='bridge'/>
<target dev='macvtap8'/>
<model type='rtl8139'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</interface>
<input type='mouse' bus='ps2'>
<alias name='input0'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input1'/>
</input>
<audio id='1' type='none'/>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='apparmor' relabel='yes'>
<label>libvirt-08f1ffa4-7928-408e-962f-4918bc5aeea4</label>
<imagelabel>libvirt-08f1ffa4-7928-408e-962f-4918bc5aeea4</imagelabel>
</seclabel>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+64055:+108</label>
<imagelabel>+64055:+108</imagelabel>
</seclabel>
</domain>
我目前在Ubuntu 22.04
,并使用 libvirt 域 XML 来创建 KVM。
wlp2s0
为主机提供互联网,也应该用于DHCP
。
最终目标是让 kvm 像主机连接到的本地网络上的另一台机器一样运行
MacVTap
有人知道这里可能出了什么问题吗?
答案1
mactapv 是一种特殊接口,不允许客户机与主机通信。因此,如果您尝试在与主机相同的网络中获取 dhcp 客户端 ip,则需要桥接网络适配器。
否则,您可以使用 mactapv 通过隧道连接到另一个网络,并且该网络中运行有 dhcp 服务。