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 拿出来,转发给相应的容器。

相关文章
|
6天前
|
存储 安全 网络安全
云计算与网络安全的协同演进:探索云服务时代的信息安全策略
【7月更文挑战第7天】随着云计算技术的蓬勃发展,企业和个人越来越依赖于云服务来处理和存储数据。然而,随之而来的网络安全问题也日益凸显,对信息安全管理提出了更高的要求。本文旨在探讨在云服务时代,如何通过有效的安全策略和技术手段来保障网络和数据的安全。文章将分析当前云计算环境下的安全挑战,并提出相应的解决方案,以期为相关领域的专业人士提供参考和指导。
20 4
|
9天前
|
数据采集 监控 安全
网络安全中的威胁情报与风险管理:技术解析与策略
【7月更文挑战第4天】网络安全中的威胁情报与风险管理是保障网络安全的重要手段。通过收集、分析和处理各种威胁情报,可以及时发现并应对潜在的网络威胁;而通过科学的风险管理流程,可以构建稳固的防御体系,降低安全风险。未来,随着技术的不断进步和应用场景的拓展,威胁情报与风险管理技术将不断发展和完善,为网络安全提供更加坚实的保障。
|
3天前
|
SQL 存储 安全
网络安全与信息安全:防御前线的关键技术与策略
【5月更文挑战第70天】在数字化时代,网络安全和信息安全已成为维护网络空间主权和个人隐私的核心要素。本文将深入探讨网络安全漏洞的成因、加密技术的最新进展以及提升安全意识的有效方法。通过对这些关键点的分析,旨在为读者提供一套全面的网络防御策略,以应对不断演变的网络威胁。
|
3天前
|
云安全 安全 网络安全
云端防御:融合云服务与先进网络安全策略
【5月更文挑战第70天】 在数字经济的浪潮中,云计算已成为企业信息化建设的核心动力。然而,伴随其快速发展的是日益严峻的网络安全挑战。本文深入探讨了云服务的基本架构、网络安全的重要性以及信息安全的关键措施,并提出了一个综合框架以增强云环境下的数据安全。通过分析最新的技术趋势和策略,我们旨在为读者提供一套实用的解决方案,以确保在享受云计算带来的便利的同时,有效地防范潜在的网络威胁。
|
1天前
|
监控 安全 网络安全
云上防线:云计算时代的网络安全策略
在数字化浪潮的推动下,云计算技术以其灵活性和可扩展性成为企业数字化转型的重要支撑。然而,随着数据和应用的云端迁移,网络安全问题也日益凸显。本文深入探讨了云计算环境下的网络安全挑战,分析了云服务模型特有的安全风险,并提出了相应的防御机制。通过案例分析,本文揭示了云服务商和企业用户在信息安全方面的责任共担模式,强调了数据加密、访问控制、安全审计和持续监控等关键技术的应用。最后,本文讨论了云计算与网络安全协同发展的未来趋势,为读者提供了一幅云计算时代网络安全的全景图。
|
3天前
|
安全 物联网 程序员
数字堡垒的守卫者:网络安全与信息安全的现代策略
【7月更文挑战第10天】在信息时代,数据的价值堪比石油,而网络安全则是保护这一宝贵资源的防线。本文将深入探讨网络安全漏洞的成因与影响,加密技术在防御中的关键作用,以及提升个人和组织安全意识的重要性。通过分析最新的网络威胁、加密算法的进步,以及安全教育的必要性,我们将了解如何构建一个更加坚固的数字堡垒,以抵御日益复杂的网络攻击。
8 1
|
9天前
|
安全 算法 网络安全
网络安全与信息安全:保护数据的关键策略
【7月更文挑战第4天】在数字化时代,网络安全和信息安全已成为组织和个人不可忽视的议题。本文将深入探讨网络安全漏洞的成因、当前加密技术的应用以及提升安全意识的重要性。文章旨在为读者提供一套综合性的知识体系,帮助他们更好地理解和应对网络环境中的安全威胁。
21 3
|
12天前
|
存储 安全 网络安全
云端防御:云计算时代的网络安全新策略
【6月更文挑战第30天】随着云计算的普及,企业和个人越来越依赖于云服务来存储和处理数据。然而,这种依赖也带来了新的安全挑战。本文将探讨在云计算环境中维护网络安全的重要性,分析云服务中常见的安全威胁,并提出一系列创新的安全策略和技术解决方案。通过这些措施,我们可以更好地保护云计算资源,确保信息安全。
|
9天前
|
云安全 机器学习/深度学习 安全
云计算与网络安全的协同演进:挑战、策略与未来展望
随着数字化转型的深入,云计算已成为企业信息技术架构的核心。然而,云服务的快速发展同时带来了前所未有的网络安全挑战。本文通过分析云计算环境中的安全威胁,探讨了当前网络安全的最佳实践和策略,并预测了未来技术发展对云安全的影响。文章旨在为读者提供一个关于如何在享受云计算便利的同时,有效管理和缓解网络安全风险的全面视角。
|
9天前
|
云安全 安全 网络安全
云计算与网络安全:技术融合下的安全挑战与应对策略
在数字化转型的浪潮中,云计算作为一种强大的技术推动力,正日益成为企业IT架构的核心。然而,随着云服务模式的普及,网络安全问题也变得愈加复杂。本文旨在深入探讨云计算环境下网络安全的挑战,并基于最新的研究成果和统计数据,提出有效的安全策略和技术解决方案。通过对云计算环境中潜在风险的系统分析,结合先进的网络安全技术,如加密算法、身份认证机制等,文章将阐述如何在享受云计算带来的便利的同时,保障数据的安全性和完整性。