calico网络策略

简介: 基本原理 完全通过三层网络的路由转发来实现 calico ippool 以calico 3.2版本为准,在calico 3.3中增加了blockSize可变更以及针对namespace单独设置子网的功能参考:https://www.projectcalico.org/calico-ipam-explained-and-enhanced/ calico 不同于flannel不需要为每个node分配子网段,所以只需要考虑pod的数量;例如配置 172.0.0.0/16即总共可运行 2^16=65536个pod。

基本原理

完全通过三层网络的路由转发来实现

calico ippool

以calico 3.2版本为准,在calico 3.3中增加了blockSize可变更以及针对namespace单独设置子网的功能
参考:https://www.projectcalico.org/calico-ipam-explained-and-enhanced/

calico 不同于flannel不需要为每个node分配子网段,所以只需要考虑pod的数量;
例如配置 172.0.0.0/16即总共可运行 2^16=65536个pod。

ippool 分配细节:

默认情况下,当网络中出现第一个容器,calico会为容器分配一段子网(子网掩码/26,例如:172.0.118.0/26),后续出现该节点上的pod都从这个子网中分配ip地址,这样做的好处是能够缩减节点上的路由表的规模,按照这种方式节点上2^6=64个ip地址只需要一个路由表项就行了,而不是为每个ip单独创建一个路由表项。如下为etcd中看到的子网段的值:

注意:当64个主机位都用完之后,会从其他可用的的子网段中取值,所以并不是强制该节点只能运行64个pod ,只是增加了路由表项

Calico 网络的转发细节

容器 A1 的 IP 地址为 172.17.8.2/32,这里注意,不是 /24,而是 /32,将容器 A1 作为一个单点的局域网了。

容器 A1 里面的默认路由,Calico 配置得比较有技巧。

default via 169.254.1.1 dev eth0 
169.254.1.1 dev eth0 scope link 

这个 IP 地址 169.254.1.1 是默认的网关,但是整个拓扑图中没有一张网卡是这个地址。那如何到达这个地址呢?

ARP 本地有缓存,通过 ip neigh 命令可以查看。

169.254.1.1 dev eth0 lladdr ee:ee:ee:ee:ee:ee STALE

找个mac地址为外面 caliefb22cb5e12的mac地址,即到达物理机A路由器:

172.17.8.2 dev veth1 scope link 
172.17.8.3 dev veth2 scope link 
172.17.9.0/24 via 192.168.100.101 dev eth0 proto bird onlink

为了保证物理机A和物理机B能够相互知道,路由信息,calico使用了bgp协议进行路由发现。

IPIP

如果是跨网段的访问,网络之间存在路由器,比上面的架构更加复杂,如何进行路由发现? 需启用IPIP模式。

使用了 IPIP 模式之后,在物理机 A 上,我们能看到这样的路由表:

172.17.8.2 dev veth1 scope link 
172.17.8.3 dev veth2 scope link 
172.17.9.0/24 via 192.168.200.101 dev tun0 proto bird onlink

这和原来模式的区别在于,下一跳不再是同一个网段的物理机 B 了,IP 为 192.168.200.101,并且不是从 eth0 跳,而是建立一个隧道的端点 tun0,从这里才是下一跳。

  • 内层源 IP 为 172.17.8.2;
  • 内层目标 IP 为 172.17.9.2;
  • 外层源 IP 为 192.168.100.100;
  • 外层目标 IP 为 192.168.200.101。

将这个包从 eth0 发出去,在物理网络上会使用外层的 IP 进行路由,最终到达物理机 B。在物理机 B 上,tun0 会解封装,将内层的源 IP 和目标 IP 拿出来,转发给相应的容器。

相关文章
|
14天前
|
存储 安全 网络安全
云计算与网络安全的博弈:云服务的安全挑战与应对策略
【8月更文挑战第37天】在云计算日益成为企业和个人数据存储与处理的首选平台的今天,网络安全问题也随之凸显。本文将深入探讨云计算环境中的网络安全挑战,包括数据泄露、服务中断和恶意攻击等,并提供相应的安全策略和技术解决方案。通过实际代码示例,展示如何在云环境中实施有效的安全措施,以保护数据安全和确保服务的连续性。
132 67
|
7天前
|
存储 安全 网络安全
云计算时代的网络安全挑战与策略
【8月更文挑战第45天】随着云计算的蓬勃发展,企业和个人越来越依赖云服务来存储和处理数据。然而,这种便利性也带来了前所未有的网络安全风险。本文将探讨云计算环境中的主要安全威胁,并介绍一系列防护措施,包括加密、访问控制、多因素认证、入侵检测系统和定期的安全审计。通过实际代码示例,我们将展示如何在云环境中实现数据保护和网络安全的最佳实践。
45 21
|
1天前
|
存储 安全 网络安全
云计算与网络安全:保护数据的关键策略
【9月更文挑战第19天】在数字时代,云计算已成为企业和个人存储和处理数据的优选方式。然而,随之而来的网络安全挑战也日益严峻。本文将深入探讨云计算环境中的网络安全问题,并提供实用的策略来保护云服务中的数据安全。我们将从基础的网络安全措施出发,逐步深入到更复杂的信息安全技术,旨在为读者提供一套全面的解决方案,确保他们的数据在云端得到妥善保护。
12 5
|
2天前
|
存储 安全 网络安全
网络安全与信息安全:构建安全防线的多维策略在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的关键要素。本文旨在探讨网络安全漏洞的本质、加密技术的重要性以及提升公众安全意识的必要性,以期为构建更加坚固的网络环境提供参考。
本文聚焦于网络安全领域的核心议题,包括网络安全漏洞的现状与应对、加密技术的发展与应用,以及安全意识的培养与实践。通过分析真实案例,揭示网络安全威胁的多样性与复杂性,强调综合防护策略的重要性。不同于传统摘要,本文将直接深入核心内容,以简洁明了的方式概述各章节要点,旨在迅速吸引读者兴趣,引导其进一步探索全文。
|
3天前
|
存储 安全 网络安全
网络安全与信息安全:构建防线的多维策略
在数字化浪潮中,网络安全已成为企业和个人不可忽视的重要议题。本文深入探讨了网络安全漏洞的本质、加密技术的核心作用以及提升安全意识的重要性。通过分析真实案例和最新研究成果,我们揭示了网络威胁的多样性和复杂性,同时提供了实用的防护措施和策略。无论你是技术专家还是普通用户,本文都将帮助你建立更全面的网络安全视角,共同守护数字世界的安全与和谐。
|
5天前
|
存储 安全 网络安全
云计算与网络安全的交织挑战及应对策略
随着科技的飞速发展,云计算已经成为企业运营的重要组成部分。然而,随之而来的网络安全问题也日益凸显。本文从云服务、网络安全以及信息安全等角度出发,探讨了这些领域面临的主要挑战,并提出了相应的应对策略。
|
11天前
|
云安全 安全 网络安全
云上防线:云计算时代的网络安全新策略
在数字化浪潮的推动下,云计算技术已成为企业信息技术架构的核心。然而,随之而来的网络安全挑战也日益严峻。本文旨在探讨云计算环境下的网络安全问题,并提出相应的安全策略。我们将从基础的云服务安全措施出发,深入到高级的信息保护技术,最后讨论如何通过合理的策略规划和人员培训,构建一道坚固的“云上防线”。
|
11天前
|
SQL 监控 安全
数字堡垒之下:网络安全的现代挑战与防御策略
在这个数字信息日益增长的时代,网络安全已成为保护个人隐私和企业资产的关键战场。本文将深入探讨网络安全中常见的漏洞、先进的加密技术以及提升安全意识的重要性。通过分析最新的网络攻击案例和防御措施,我们旨在为读者提供一套实用的网络安全知识框架,帮助大众构建更为坚固的数字防线。
30 7
|
9天前
|
监控 安全 网络安全
云端的守护者:云计算中的网络安全挑战与策略
在数字时代的浪潮中,云计算以其灵活性和可扩展性成为了企业信息技术架构的核心。然而,随之而来的网络安全问题也日益凸显。本文将探讨云计算环境下的网络安全挑战,分析云服务模型的安全考量,并提出有效的安全防御措施。通过深入浅出的方式,旨在为读者提供一套清晰的云计算网络安全指南,确保数据的安全与隐私保护,同时促进企业的健康发展。
|
9天前
|
安全 网络安全 量子技术
数字堡垒之下:网络安全与信息保护的现代策略
在数字化浪潮中,网络安全成为守护个人隐私与企业资产的关键盾牌。本文将深入探讨网络安全漏洞的成因与对策,加密技术的最新进展,以及提升安全意识的重要性。从网络攻击的演变到防御机制的升级,我们将一同穿梭于这场看不见硝烟的战争中,揭示保护信息安全的现代策略。
19 1