网桥, bridge
网桥, bridge Linux 虚拟网络设备之 bridge (桥) 什么是bridge? 首先,bridge 是一个虚拟网络设备,所以具有网络设备的特征,可以配置IP,MAC地址等; 其次,bridge 是一个虚拟交换机,和物理交换机有类似的功能。 对于普通的网络设备来说,只有两端,从一端进来的数据会从另一端出去,如物理网卡从外面网络中收到的数据会转发给内核协议栈,而从协议栈过来的数据会转发到外面的物理网络中。 而 bridge 不同,bridge 有多个端口,数据可以从任何端口进来,进来之后从哪个口出去和物理交换机的原理差不多,要看mac地址。 创建bridge 我们先用iproute2创建一个bridge: sudo ip link add name br0 type bridge sudo ip link set br0 up 当刚创建一个bridge时,它是一个独立的网络设备,只有一个端口连着协议栈,其它的端口啥都没连,这样的bridge没有任何实际功能,如下图所示: +----------------------------------------------------------------+ | | | +------------------------------------------------+ | | | Newwork Protocol Stack | | | +------------------------------------------------+ | | ↑ ↑ | |..............|................................|................| | ↓ ↓ | | +----------+ +------------+ | | | eth0 | | br0 | | | +----------+ +------------+ | | 192.168.3.21 ↑ | | | | | | | +--------------|-------------------------------------------------+ ↓ Physical Network 这里假设 eth0 是我们的物理网卡,IP 地址是 192.168.3.21,网关是 192.168.3.1 ...