Vlan
libvirt:使用啟用 dhcp 的 openvswitch 創建橋接網路
我正在嘗試使用 libvirt + dsnmasq + openvswitch 創建啟用了 dhcp 的橋接網路。我使用以下 XML 創建了一個 libvirt 網路:
<network connections='1'> <name>ovs-net</name> <uuid>fffd6fea-a753-4fca-b684-76fb24866ba3</uuid> <forward mode='bridge'/> <bridge name='ovsbr0'/> <vlan> <tag id='1298'/> </vlan> <virtualport type='openvswitch'/> </network>
我可以使用這個網路創建客人,例如:
<domain> ... <interface type='network'> <mac address='52:54:00:a6:3b:48'/> <source network='ovs-net'/> <model type='virtio'/> <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0001'/> </interface> </domain>
我可以在訪客上手動配置 IP 地址並發送入站/出站流量。當我編輯 ovs-net xml 以包含 IP 地址和 DHCP 配置時,它失敗如下:
virsh net-edit --network ovs-net <network connections='1'> <name>ovs-net</name> ... <ip address='10.20.101.121' netmask='255.255.255.0'> <dhcp> <range start='10.20.101.121' end='10.20.101.130'/> <host mac='52:54:00:7a:6d:e7' name='test.com' ip='10.20.101.120'/> </dhcp> </ip> </network> error: unsupported configuration: Unsupported <ip> element in network ovs-net with forward mode='bridge'
我的網路知識有限,所以我不確定我想要做的事情是否可行。
該模式本質上支持兩類設置。託管設置基於 libvirt 自己創建的傳統橋接設備,並為 DNS/DHCP 服務執行 dnsmasq。非託管設置基於傳統網橋、openvswitch 或 macvtap 或其他幾個選項。在後一種情況下,libvirt 實際上並沒有自己創建任何東西——它只是將 libvirt 與外部創建的網路基礎設施相關聯的一種方式。因此,libvirt 也不會為這些執行 dnsmasq,因此它拒絕您設置 IP 地址/dhcp 範圍的請求。