
我在橋接網路模式下使用 KVM,這樣我就可以擁有一個具有來自主機 LAN 網路的 IP 的虛擬機器。我的主機(Ubuntu 18.04伺服器)網路配置如下:
network:
ethernets:
enp0s31f6:
dhcp4: true
enp5s0:
dhcp4: true
bridges:
br0:
interfaces: [enp0s31f6]
macaddress: EX:DX:5X:X0:X0:XO
dhcp4: yes
version: 2
我已經使用 virtsh 為我的虛擬機器建立了橋接連線。
<network>
<name>host-bridge</name>
<uuid>0fe3b67b-5155-4581-92f2-2510d864ed65</uuid>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
但是,當我在虛擬機器上執行 ifconfig 時,我只看到已指派的 ipv6 位址。
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 2a01:cb00:c3c:e500:9949:de93:1df3:c13c prefixlen 64 scopeid 0x0<global>
inet6 2a01:cb00:c3c:e500:ae16:cee:c3a6:c493 prefixlen 64 scopeid 0x0<global>
inet6 fe80::ff22:79d5:c7fe:884f prefixlen 64 scopeid 0x20<link>
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 5990 bytes 560495 (560.4 KB)
RX errors 0 dropped 2778 overruns 0 frame 0
TX packets 702 bytes 89008 (89.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我該如何強制 KVM 或更改主機/來賓網路僅分配 IPV4?
我考慮過在來賓 grub 上開啟 ipV6,但這似乎會導致虛擬機器出現問題。我的伺服器是遠端伺服器,我不想失去 ssh 連線。
答案1
我必須在 enp0s31f6 介面中明確停用 dhcp4 和 dhcp4,並重新啟動主機和虛擬機器。這是我使用的最終網路規劃配置:
network:
ethernets:
enp0s31f6:
dhcp4: false
dhcp6: false
enp5s0:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [enp0s31f6]
macaddress: XX:XX:XX:XX:XX:X
dhcp4: yes
dhcp6: true
version: 2
之後一切工作正常。還需要注意的是,我必須在配置中明確設定網橋的 MAC 位址,以避免路由器不將網橋更新為單獨的裝置。