ubuntu16.04 kvm bridge vlan

注:linux中通过bridge实现交换,通过vlan 实现隔离,而vm实际上是连在bridge上的,所以同一个vlan下的几个vm的说法实际上是同一个vlan连接的bridge下的几个vm
注:vm主机之间通信的关键在于bridge必须设置ip,同一个bridge下的vm之间通信不需要bridge设置ip,只需要vm之间同网段

  • bridge
  1. 两个vm之间互通
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.203
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameserver 192.168.0.1
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports eth0

注:因为eth0连在br0上,主机ip192.168.0.203
因为eth0连在br0上,ip没法直接设置在eth0上,会导致无法主机连通外网,如果需要在eth0上设置ip,那么eth0需要通过vlan间接连在br0

虚拟机:两个vm接到br0上,网段是192.168.0.1

结果:
vm主机:可以互通,因为bridgevm在同一网段
vmvm:可以互通,而且同一个bridge下的vm之间互通只需要网段一致,bridge可以不需要ip
vm外网:因为192.168.0.203可以通外网,那么vm也能连通外网

  • vlan
    注:linux中是自动实现access端口和trunk端口,或者说只实现trunk端口
    因为vlan实现隔离功能,所以经过eth0.10的数据包都会打上vid
    bridge实现交换功能,而bridge没有vid这个东西,所以既不会打上vid,也不会删除vid,所以天然实现access功能
  1. vm主机互通
auto eth0
iface eth0 inet static
address 192.168.0.203
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameserver 192.168.0.1

auto eth0.10
iface eth0.10 inet manual
vlan-raw-device eth0

auto brvlan10
iface brvlan10 inet static
address 192.168.10.207
netmask 255.255.255.0
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports eth0.10

注:

虚拟机:vm连在brvlan10上,网段是192.168.10.1

结果:
vm主机:可以互通,因为bridgevm在同一网段
vmvm:可以互通,参照上面的两个vm之间互通
vm外网:因为vm主机不在同一网段,所以无法连通外网

  1. 不同vlan对应的bridge下的vm之间隔离
    注:vlan的隔离是靠网段隔离,连在同一个eth上的两个vlan对应的bridgeip必须是不同网段,否则第二个vlan对应的vm会出问题,无法与主机互通
    而且bridge也不能与任何其他非虚拟机 ip(比如eth0 ip)同网段,否则会出错
auto eth0
iface eth0 inet static
address 192.168.0.203
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameserver 192.168.0.1

auto eth0.10
iface eth0.10 inet manual
vlan-raw-device eth0

auto brvlan10
iface brvlan10 inet static
address 192.168.10.207
netmask 255.255.255.0
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports eth0.10

auto eth0.20
iface eth0.20 inet manual
vlan-raw-device eth0

auto brvlan20
iface brvlan20 inet static
address 192.168.20.208
netmask 255.255.255.0
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_ports eth0.20

虚拟机:vm1连在brvlan10上,vm2连在brvlan20上,
结果:
vm主机:可以互通,因为bridgevm在同一网段
vmvm:不能互通,因为同一个eth0下不同vlan对应的bridge必须不同网段,所以无法互通
vm外网:因为vmeth0不同网段,所以无法上网

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者:林小熊 1、vlan的基本配置: 创建vlan vlan vlan-id[alias vlan-alias...
    lxx_call阅读 855评论 0 0
  • 作者:林小熊 1、vlan的基本配置: 创建vlan vlan vlan-id[alias vlan-alias...
    lxx_call阅读 929评论 0 0
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,606评论 0 7
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,646评论 2 56
  • 你有多久没有好好陪陪父母了?有多久没有对父母说句“我爱你”了?趁着一切还来得及,好好去爱和理解他们吧。 别找借口说...
    一分凄凉阅读 393评论 0 1