docker网络--跨主机容器通信

本文介绍了如何实现跨主机容器通信,探讨了docker原生的overlay和macvlan网络方案,以及第三方的flannel、weave、calico。同时,讲解了docker的CNM网络模型,以及macvlan网络的实现和工作原理,强调了macvlan在二层网络的隔离性和三层网络的连通性,并列举了docker network的相关命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实现跨主机网络解决方案:
(1)docker原生的overlay和macvlan
(2)第三方的flannel、weave、calico
2.众多网络方案与docker集成方法:
(1)ibnetwork docker容器网络库
(2)CNM 对容器网络进行抽象
CNM的三类组件
Sandbox:容器网络线,包括容器接口、dns、路由表
Endpoint:将sandbox接入network
Network:包含一组endpoint,同一network的endpoint可以进行通信
3.macvlan网络方案实现
Linux内核提供的一种网卡虚拟化技术
无需linux bridge,直接使用物理接口,性能极好
实验前提:
两台虚拟机
172.25.4.111 server1
172.25.4.112 server2
两台虚拟机各自再添加一块物理网卡

[root@server1 ~]# ip addr show
6: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 52:54:00:70:4e:0d brd ff:ff:ff:ff:ff:ff

[root@server2 ~]# ip addr show
5: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 52:54:00:bf:79:b8 brd ff:ff:ff:ff:ff:ff

打开网络混杂模式

[root@server1 ~]# ip link set up eth1  ##激活网卡
[root@server1 ~]# ip link set eth1 promisc on  ##开启混杂模式
[root@server1 ~]# ip addr show eth1
7: eth1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:42:36:bd brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:fe42:36bd/64 scope link 
       valid_lft forever preferred_lft forever

[root@server2 ~]# ip link set up eth1
[root@server1 ~]# ip link set eth1 promisc on
[root@server2 ~]# ip addr show eth1
8: eth1: <BROADCAST,MUL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值