ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker网络(三)--macvlan

2019-03-23 09:52:55  阅读:291  来源: 互联网

标签:subnet Macvlan 桥接 网络 192.168 macvlan docker gateway


使用Macvlan网络

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

  • 由于IP地址耗尽或“VLAN传播”,很容易无意中损坏您的网络,在这种情况下,您的网络中存在大量不合适的MAC地址。
  • 您的网络设备需要能够处理“混杂模式”,其中一个物理接口可以分配多个MAC地址。
  • 如果您的应用程序可以使用桥接器(在单个Docker主机上)或覆盖层(跨多个Docker主机进行通信),那么从长远来看,这些解决方案可能会更好。

创建一个macvlan网络

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

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

  • 在802.1q中继桥接模式下,流量通过Docker在运行中创建的802.1q子接口。这允许您在更细粒度的级别上控制路由和筛选。

桥接模式

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

$ docker network create -d macvlan \
  --subnet=172.16.86.0/24 \
  --gateway=172.16.86.1  \
  -o parent=eth0 pub_net

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

$ docker network create -d macvlan  \
  --subnet=192.168.32.0/24  \
  --ip-range=192.168.32.128/25 \
  --gateway=192.168.32.254  \
  --aux-address="my-router=192.168.32.129" \
  -o parent=eth0 macnet32

802.1q中继桥接模式

如果指定parent包含点的接口名称,例如eth0.50,Docker将其解释为子接口eth0并自动创建子接口。

$ docker network  create  -d macvlan \
    --subnet=192.168.50.0/24 \
    --gateway=192.168.50.1 \
    -o parent=eth0.50 macvlan50

使用ipvlan而不是macvlan

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

$ docker network create -d ipvlan \
    --subnet=192.168.210.0/24 \
    --subnet=192.168.212.0/24 \
    --gateway=192.168.210.254  \
    --gateway=192.168.212.254  \
     -o ipvlan_mode=l2 ipvlan210

使用IPv6

如果已将Docker守护程序配置为允许IPv6,则可以使用双栈IPv4 / IPv6 Macvlan网络。

$ docker network  create  -d macvlan \
    --subnet=192.168.216.0/24 --subnet=192.168.218.0/24 \
    --gateway=192.168.216.1  --gateway=192.168.218.1 \
    --subnet=2001:db8:abc8::/64 --gateway=2001:db8:abc8::10 \
     -o parent=eth0.218 \
     -o macvlan_mode=bridge macvlan216

标签:subnet,Macvlan,桥接,网络,192.168,macvlan,docker,gateway
来源: https://blog.csdn.net/qq1083062043/article/details/88756146

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有