kvm虚拟机网络桥接和读取ip

操作步骤和桥接模式配置总结:


操作步骤总结

1. 配置桥接网络 br0
  • 在主机上创建桥接网络 br0,并绑定物理网卡 enp1s0

    sudo brctl addif br0 enp1s0
    sudo ip addr flush dev enp1s0
    sudo ip link set enp1s0 up
    sudo ip link set br0 up
    
  • 为桥接网络分配 IP 地址并获取 DHCP 配置:

    sudo dhclient br0
    
2. 检查桥接网络状态
  • 验证 br0 是否正常绑定 enp1s0 和虚拟机接口:
    brctl show
    
    输出示例:
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.66c348edae93       yes             enp1s0
                                                        vnetX
    
3. 配置虚拟机的桥接网络
  • 编辑虚拟机的 XML 配置文件,将网络接口配置为桥接模式:
    virsh edit vm1
    
    修改 <interface> 部分如下:
    <interface type='bridge'>
        <mac address='52:54:00:00:fc:d3'/>
        <source bridge='br0'/>
        <model type='virtio'/>
    </interface>
    
4. 启动虚拟机并检查网络
  • 启动虚拟机:

    virsh start vm1
    
  • 检查虚拟机的网络接口是否正确绑定到 br0

    virsh domiflist vm1
    

    输出示例:

    Interface   Type     Source   Model    MAC
    -----------------------------------------------------------
    vnet5       bridge   br0      virtio   52:54:00:00:fc:d3
    
5. 验证虚拟机的网络连接
  • 登录虚拟机,确认网卡状态和 IP 地址:

    ip addr show enp1s0
    sudo dhclient enp1s0  # 如果没有自动获取到 IP
    
  • 测试虚拟机到主机和外网的连通性:

    ping -c 4 192.168.123.123  # 测试主机
    ping -c 4 8.8.8.8          # 测试外网
    

最终使用的桥接模式

  • 桥接网络名称br0
  • 绑定的物理网卡enp1s0
  • 桥接模式特点
    • 虚拟机直接通过桥接网络 br0 与物理网络通信。
    • 虚拟机与主机共享物理网卡的网络访问能力,并在同一网段(192.168.123.x)。
    • 虚拟机通过 DHCP 或静态配置获取 IP 地址,与其他物理设备完全互通。

完成后的状态

  1. 主机网络配置

    • 主机的 IP 地址迁移到 br0
    • 桥接网络 br0 管理主机和虚拟机的网络流量。
  2. 虚拟机网络配置

    • 虚拟机通过 br0 连接到物理网络,获取 IP 地址。
    • 虚拟机可以直接访问外部网络,也可被主机和局域网中的其他设备访问。