第 8 章 容器网络 - 061 - flannel 的连通与隔离

本文详细解析了Flannel网络的工作原理,包括容器间的连通性测试、数据包的路由过程及网络隔离特性。此外,还介绍了Flannel如何实现跨主机通信,并讨论了其与外网的连通方式。

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

flannel 的连通与隔离

 

测试 bbox1 和 bbxo2 的连通性:

 

bbox1 能够 ping 到位于不同 subnet 的 bbox2,通过 traceroute 分析一下 bbox1 到 bbox2 的路径。

 

1) bbox1 与 bbox2 不是一个 subnet,数据包发送给默认网关 10.2.9.1(docker0)。

2) 根据 host1 的路由表(下图),数据包会发给 flannel.1。

3) flannel.1 将数据包封装成 VxLAN,通过 ens192 发送给 host2。

4) host2 收到包解封装,发现数据包目的地址为 10.2.52.2,根据路由表(下图)将数据包发送给 flannel.1,并通过 docker0 到达 bbox2。

 

 

数据流向如图所示:

 

另外,flannel 是没有 DNS 服务的,容器无法通过 hostname 通信。

 

 

flannel 网络隔离

 

flannel 为每个主机分配了独立的 subnet,但 flannel.1 将这些 subnet 连接起来了,相互之间可以路由。

本质上,flannel 将各主机上相互独立的 docker0 容器网络组成了一个互通的大网络,实现了容器跨主机通信。

flannel 没有提供隔离。

 

flannel 与外网连通性

因为 flannel 网络利用的是默认的 bridge 网络,所以容器与外网的连通方式与 bridge 网络一样,即:

  • 容器通过 docker0 NAT 访问外网
  • 通过主机端口映射,外网可以访问容器

 

--------------------------------------------引用来自------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587816&idx=1&sn=920885ea2a213358bf271c9d06752569&chksm=8d308171ba47086793e5d2c04a3c84df2109d03d994a6d3484b1ec45b3d333353456e75a65b6&scene=21#wechat_redirect

转载于:https://www.cnblogs.com/gsophy/p/10636076.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值