物理网卡 eth0 和 eth1做 Bond,KVM 上两个虚机,需要属于不同的网段与外界通信。
- 逻辑图
- 配置文件
a. 物理网卡 eth0 、eth1
b. bond0# more ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none USERCTL=no # 只是名字不一样,其他配置相同 DEVICE=eth0 ONBOOT=yes MASTER=bond0 SLAVE=yes
c. bond 子接口(bond0.10、bond0.20)# more ifcfg-bond0 DEVICE=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=none ONBOOT=yes USERCTL=no NM_CONTROLLED=no
d. 桥配置(bridge10、bridge20)# more ifcfg-bond0 BOOTPROTO=none ONBOOT=yes BONDING_MASTER=yes NM_CONTROLLED=no USERCTL=no # 注意类型以及所属桥 TYPE=Ethernet DEVICE=bond0.10 VLAN=yes BRIDGE=bridge10
# more ifcfg-bridge10 DEVICE=bridge10 TYPE=Bridge ONBOOT=yes # 如果物理机要配置对应 vlan 的 IP,需要配在桥上 IPADDR=10.130.1.91 PREFIX=24 GATEWAY=10.130.1.1
- 总结
- 子接口中配置VLAN,再把子接口划入桥里面,两者组成了一个傻瓜二层交换机,最终将 KVM 虚拟机连接到不同的桥上,就实现了二层隔离;虚拟机中直接配置属于该网段的 IP 即可。
- 如果物理机的子接口要配置 IP,应该配置在桥上(因为此时 子接口是一个二层口,无法配置 IP)