第 14 章 开始使用 IPVLAN
IPVLAN 是虚拟网络设备的驱动程序,可在容器环境中用于访问主机网络。IPVLAN 会将一个 MAC 地址公开给外部网络,而不管主机网络中所创建的 IPVLAN 设备的数量。这意味着,用户可以在多个容器中有多个 IPVLAN 设备,相应的交换机会读取单个 MAC 地址。当本地交换机对它可管理的 MAC 地址的总数施加约束时,IPVLAN 驱动程序很有用。
14.1. IPVLAN 模式
IPVLAN 有以下模式可用:
L2 模式
在 IPVLAN L2 模式 中,虚拟设备接收并响应地址解析协议(ARP)请求。
netfilter
框架仅在拥有虚拟设备的容器中运行。容器化流量的默认命名空间中不会执行netfilter
链。使用L2 模式会提供良好的性能,但对网络流量的控制要小。L3 模式
在 L3 模式 中,虚拟设备只处理 L3 以上的流量。虚拟设备不响应 ARP 请求,用户必须手动为相关点上的 IPVLAN IP 地址配置邻居条目。相关容器的出口流量位于默认命名空间中的
netfilter
POSTROUTING 和 OUTPUT 链上,而入口流量以与 L2 模式 相同的方式被线程化。使用L3 模式会提供很好的控制,但可能会降低网络流量性能。L3S 模式
在 L3S 模式 中,虚拟设备处理方式与 L3 模式 中的处理方式相同,但相关容器的出口和入口流量都位于默认命名空间中的
netfilter
链上。L3S 模式 的行为方式和 L3 模式 相似,但提供了对网络的更大控制。
对于 L3 和 L3S 模式,IPVLAN 虚拟设备不接收广播和多播流量。