Docker 网络 macvlan模式

本文翻译自docker官网:https://docs.docker.com/network/macvlan/

Use macvlan networks

Some applications, especially legacy applications or applications which monitor
network traffic, expect to be directly connected to the physical network. In
this type of situation, you can use the macvlan network driver to assign a MAC
address to each container's virtual network interface, making it appear to be
a physical network interface directly connected to the physical network. In this
case, you need to designate a physical interface on your Docker host to use for
the macvlan, as well as the subnet and gateway of the macvlan. You can even
isolate your macvlan networks using different physical network interfaces.
Keep the following things in mind:

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

  • It is very easy to unintentionally damage your network due to IP address
    exhaustion or to "VLAN spread", which is a situation in which you have an
    inappropriately large number of unique MAC addresses in your network.

    很容易由于IP地址耗尽或"VLAN spread"无意的破坏你的网络,这是指您的网络中具有不适当的大量唯一MAC地址的情况。

  • Your networking equipment needs to be able to handle "promiscuous mode",
    where one physical interface can be assigned multiple MAC addresses.

    您的网络设备需要能够处理"promiscuous mode(混杂模式)",即一个物理接口可以分配多个MAC地址。

  • If your application can work using a bridge (on a single Docker host) or
    overlay (to communicate across multiple Docker hosts), these solutions may be
    better in the long term.

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

Create a macvlan network

When you create a macvlan network, it can either be in bridge mode or 802.1q
trunk bridge mode.

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

  • In bridge mode, macvlan traffic goes through a physical device on the host.

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

  • In 802.1q trunk bridge mode, traffic goes through an 802.1q sub-interface
    which Docker creates on the fly. This allows you to control routing and
    filtering at a more granular level.

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

Bridge mode

To create a macvlan network which bridges with a given physical network
interface, use --driver macvlan with the docker network create command. You
also need to specify the parent, which is the interface the traffic will
physically go through on the Docker host.

要创建一个连接给定物理网络接口的macvlan网络,请使用--driver macvlandocker network create命令。
您还需要指定父级,即流量将在Docker主机上实际通过的接口。

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

If you need to exclude IP addresses from being used in the macvlan network, such
as when a given IP address is already in use, use --aux-addresses:

如果需要排除在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 trunk bridge mode

If you specify a parent interface name with a dot included, such as eth0.50,
Docker interprets that as a sub-interface of eth0 and creates the sub-interface
automatically.

如果指定包含点的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

Use an ipvlan instead of macvlan

使用ipvlan代替macvlan

In the above example, you are still using a L3 bridge. You can use ipvlan
instead, and get an L2 bridge. Specify -o ipvlan_mode=l2.

在上面的示例中,您仍然使用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 -o parent=eth0 ipvlan210

Use IPv6

If you have configured the Docker daemon to allow IPv6,
you can use dual-stack IPv4/IPv6 macvlan networks.

如果已将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

Next steps

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容

  • Docker:网络模式详解 袖珍指南 Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管...
    高城_4af4阅读 1,166评论 0 0
  • [Docker:网络模式详解] Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不...
    程序员应如是阅读 203评论 0 0
  • 之前有另一篇文章介绍过,容器可以通过网络命名空间来和主机之间进行网络的隔离,这篇文章会继续介绍一下容器的几种组网模...
    EVANMORE阅读 3,237评论 0 3
  • 本文翻译自docker官网:https://docs.docker.com/network/bridge/[htt...
    wcnwyx阅读 2,313评论 0 0
  • docker 网络的种类 host bridge overlay Macvlan host 如果你对一个容器使用的...
    Tim_SSS阅读 23,926评论 0 7