KVM 桥接器仅在 VM 上分配 ipv6 地址

KVM 桥接器仅在 VM 上分配 ipv6 地址

我使用桥接网络模式的 KVM,这样我就可以拥有一个具有主机 LAN 网络 IP 的 VM。我的主机(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 为我的 VM 创建了桥接连接。

<network>
  <name>host-bridge</name>
  <uuid>0fe3b67b-5155-4581-92f2-2510d864ed65</uuid>
  <forward mode='bridge'/>
  <bridge name='br0'/>
</network>

但是,当我在 VM 上执行 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,然后重新启动主机和虚拟机。这是我使用的最终 netplan 配置:

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 地址,以避免路由器不将网桥作为单独的设备进行更新。

相关内容