If the incoming traffic can be received by every guest KVM, it is a security issue. I can see others incoming traffic, so others can see my incoming traffic.
Is there a way to prevent this?
Is there a way to prevent this?
If the incoming traffic can be received by every guest KVM, it is a security issue.
ALL traffic? I highly doubt that. You should be seeing mostly broadcast and multicast traffic from other VM's (e.g. ARP who-has packets, mdns/bonjour, IPv6 router adverts, and the like). You will also see some small amount of traffic from VM's whose MAC has expired from the bridge's cache. That's just how switched Ethernet works. Only way to prevent it is with VLAN's.Is there a way to prevent this?
The Linux bridge _is_ a switch. It works just like a physical switch with a MAC cache. It even supports Spanning Tree. The first packet from a new MAC or one that's expired from the cache will be flooded, as will broadcast and all or some multicast traffic (depending on IGMP snoop settings). But the large majority of traffic will not be flooded to all ports.Maybe a Linux virtual bridge is the wrong technology for your use case? Maybe a bridge per VM and your own router VM would be better? I have no experience with OVS or the new SDN, but maybe they (can) work as switches instead of bridges?
Thank you for correcting me. Switching does sound much more sensible (and efficient for the "bridge" and the VMs).Calling it a "Linux Bridge" is unfortunately confusing (or my terminology is wrong?). I checked the manual and it also mentions that the Linux bridge can be thought of as a virtual switch.The Linux bridge _is_ a switch. It works just like a physical switch with a MAC cache. It even supports Spanning Tree. The first packet from a new MAC or one that's expired from the cache will be flooded, as will broadcast and all or some multicast traffic (depending on IGMP snoop settings). But the large majority of traffic will not be flooded to all ports.
I'm not sure where the terminology comes from, why they call it a "bridge". Open Virtual Switch seems more clear I guess, although the real purpose of OVS is to do policy routing at layer 2 (things like QinQ encapsulation), which the standard bridge can't do.Calling it a "Linux Bridge" is unfortunately confusing (or my terminology is wrong?). I checked the manual and it also mentions that the Linux bridge can be thought of as a virtual switch.