发布者认证信息(营业执照和身份证)未完善,请登录后完善信息登录
终于认识云计算核心技术Docker教程:Docker使用macvla网络
终于认识云计算核心技术Docker教程:Docker使用macvla网络

终于认识云计算核心技术Docker教程:Docker使用macvla网络

作者:yhttedit   2022-01-10 09:59:44  点击:10

详情

某些应用程序,尤其是旧版应用程序或监视网络流量的应用程序,期望直接连接到物理网络。在这种情况下,可以使用macvlan网络驱动程序为每个容器的虚拟网络接口分配MAC地址,使其看起来像是直接连接到物理网络的物理网络接口。在这种情况下,您需要在Docker主机上指定用于的物理接口macvlan,以及的子网和网关macvlan。您甚至可以macvlan使用不同的物理网络接口隔离网络。请记住以下几点:

由于IP地址耗尽或“ VLAN传播”,很容易无意间损坏您的网络,在这种情况下,您的网络中有大量不正确的唯一MAC地址。

您的网络设备需要能够处理“混杂模式”,在该模式下,可以为一个物理接口分配多个MAC地址。

如果您的应用程序可以使用网桥(在单个Docker主机上)或覆盖(跨多个Docker主机进行通信)工作,那么从长远来看,这些解决方案可能会更好。

创建一个macvlan网络

创建macvlan网络时,它可以处于桥接模式或中继桥接模式。

在桥接模式下,macvlan流量通过主机上的物理设备。

在中继桥接模式下,流量通过Docker动态创建的子接口。这使您可以更精细地控制路由和过滤。

桥接模式

要创建macvlan与给定物理网络接口桥接的网络,请--driver macvlan与docker network create命令一起使用。您还需要指定parent,这是流量将在Docker主机上实际通过的接口。

$ docker network create -d macvlan

--subnet=.0/24

--gateway=.1

-o parent=eth0 pub_net

如果您需要排除IP地址在macvlan网络中的使用,例如当一个给定的IP地址已经在使用中时,请使用--aux-addresses:

$ docker network create -d macvlan

--subnet=.0/24

--ip-range=.128/25

--gateway=.254

--aux-address="my-router=.129"

-o parent=eth0 macnet32

中继桥接模式

如果您指定parent带有点的接口名称,例如,则Docker会将其解释为的子接口,eth0并自动创建该子接口。

$ docker network create -d macvlan

--subnet=.0/24

--gateway=.1

-o parent= macvlan50

使用ipvlan代替

在上面的示例中,您仍在使用L3桥。您可以改用ipvlan L2桥接器。指定-o ipvlan_mode=l2。

$ docker network create -d ipvlan

--subnet=.0/24

--subnet=.0/24

--gateway=.254

--gateway=.254

-o ipvlan_mode=l2 -o parent=eth0 ipvlan210

相关分类
请在电脑上注册登陆 网址:https://www.zxb2b.com/