【问题标题】:KVM: public bridge recieves IP on host, but VMs do notKVM:公共网桥在主机上接收 IP,但虚拟机没有
【发布时间】:2021-02-11 03:16:00
【问题描述】:

我在 HOST 上使用单个 eth 接口创建了 br0,它接收一个 IP,我可以通过 ssh 从网络中的其他主机访问它:

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.50  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::9ecf:6d35:bc82:c5e1  prefixlen 64  scopeid 0x20<link>
        ether 00:1c:c4:47:ce:72  txqueuelen 1000  (Ethernet)
        RX packets 93667  bytes 23521427 (22.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31242  bytes 2603126 (2.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br0     8000.001cc447ce72   yes     enp5s0f1
                            vnet0
                            vnet1

在 KVM 中,我创建了桥接网络并将其分配给我的 VM:

# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 host-bridge          active     yes           yes

# cat host-bridge.xml 
<network>
  <name>host-bridge</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

当我启动虚拟机(centos8,没有固件)时,它没有收到任何 IP、dhclient 超时等。

任何想法我错过了什么?我查看了主机防火墙,我为家庭网络的 br0 接口提供了 /24 余量。

【问题讨论】:

    标签: networking iptables kvm


    【解决方案1】:

    我有类似的设置,但有一些附加功能,例如绑定和在网桥处结束的 vlan

    # No special setting about KVM networking
    virsh net-list --all
     Name                 State      Autostart     Persistent
    ----------------------------------------------------------
     default              active     yes           yes
    
    # VM connected directly to host bridge
    cat /etc/libvirt/qemu/MY_VM
    ...
    <interface type='bridge'>
      <mac address='52:xx:xx:xx:xx:40'/>
      <source bridge='br41'/>
      <model type='e1000'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    ...
    
    # And this might be your problem
    sysctl net.ipv4.ip_forward
    net.ipv4.ip_forward = 1
    

    我知道 ip_forward 设置为 TRUE 不是最佳解决方案,但您可以使用它来验证假设,然后您可以详细说明您的解决方案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 2016-01-01
      • 1970-01-01
      相关资源
      最近更新 更多