什么?网卡也能假造化?
副问题[/!--empirenews.page--]
01 macvlan 简介 前面的文章讲过了几种 Linux 假造收集装备:tap/tun、veth-pair、bridge,它们本质上是 Linux 体系 提供的收集假造化办理方案,本日要讲的 macvlan 也是个中的一种,精确嗣魅这是一种网卡假造化的办理方案。由于 macvlan 这种技能能将 一块物理网卡假造成多块假造网卡 ,相等于物理网卡发挥了 多重影两全之术 ,由一个变多个。 02 macvlan 的事变道理 macvlan 是 Linux kernel 支持的新特征,支持的版本有 v3.9-3.19 和 4.0+,较量不变的版本保举 4.0+。它一样平常是以内核模块的情势存在,我们可以通过以下要领判定当前体系是否支持:
假如第一个呼吁报错,可能第二个呼吁没有返回,声名当前体系不支持 macvlan,必要进级内核。 macvlan 这种技能听起来有点像 VLAN,但它们的实现机制是完全纷歧样的。macvlan 子接口和原本的主接口是完全独立的,可以单独设置 MAC 地点和 IP 地点,而 VLAN 子接口和主接口共用沟通的 MAC 地点。VLAN 用来分别广播域,而 macvlan 共享统一个广播域。 通过差异的子接口,macvlan 也能做到流量的断绝。macvlan 会按照收到包的目标 MAC 地点判定这个包必要交给哪个假造网卡,假造网卡再把包交给上层的协议栈处理赏罚。 03 四种模式 按照 macvlan 子接口之间的通讯模式,macvlan 有四种收集模式:
默认行使的是 vepa 模式。 3.1 private 这种模式下,统一主接口下的子接口之间互相断绝,不能通讯。纵然从外部的物理互换机导流,也会被无情地丢掉。 3.2 vepa 这种模式下,子接口之间的通讯流量必要导到外部支持 802.1Qbg/VPEA 成果的互换机上(可所以物理的可能假造的),经过外部互换机转发,再绕返来。 注: 802.1Qbg/VPEA 成果简朴说就是互换神秘支持 发夹(hairpin) 成果,也就是数据包从一个接口上收上来之后还能再扔归去。 3.3 bridge 这种模式下,模仿的是 Linux bridge 的成果,但比 bridge 要好的一点是每个接口的 MAC 地点是已知的,不消进修。以是,这种模式下,子接口之间就是直接可以通讯的。 3.4 passthru 这种模式,只应承单个子接口毗连主接口,且必需配置成稠浊模式,一样平常用于子接口桥接和建设 VLAN 子接口的场景。 3.5 mactap 和 macvlan 相似的技能尚有一种是 mactap。和 macvlan 差异的是,mactap 收到包之后不是交给协议栈,而是交给一个 tapX 文件,然后通过这个文件,完成和用户态的直接通讯。 04 实践 在 Linux 体系下,建设 macvlan 的呼吁情势如下:
凡是,单独行使 macvlan 毫有时义,一样平常都是团结 VM 和容器来构建收集。下面我们就简朴行使 namespace 来看看 Linux 是怎么行使 macvlan 的。 尝试拓扑如下: 在我的体系中,以接口 enp0s8 为例建设两个 macvlan 子接口(行使 bridge 模式),设置 IP 并将其挂到两个 namespace 中,测试连通性。
注: enp0s8 的 IP 是 192.168.56.110/24,设置的子接口 IP 也必需是统一网段的。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |