首页 > 其他分享 >Cilium转发流量 NAT

Cilium转发流量 NAT

时间:2024-08-11 13:52:45浏览次数:8  
标签:IP 地址 NAT 转发 Pod 数据包 Cilium

在容器化网络中,如使用 Cilium 这类容器网络解决方案时,当数据包到达网络时,会经过以下处理流程:

  1. 数据包到达: 数据包(例如,TCP 或 UDP)到达物理服务器的网络接口卡(NIC)。

  2. 目的地址检查: 系统检查数据包的目的 IP 地址。如果这个地址是配置在负载均衡器(LB)中的虚拟 IP(VIP),则表明这个数据包是发往集群中的某个服务。

  3. 路由到正确的节点: 集群内部的网络组件(可能是软件定义网络(SDN)控制器或者 Cilium 自身)会将数据包路由到运行目标 Pod 的节点。

  4. 网络地址转换(NAT):

    • 如果数据包的目的 IP 是 VIP,且需要转发到另一个节点上的 Pod,就需要进行 NAT 操作,将数据包的目的地 IP 地址转换为实际 Pod 的 IP 地址。
    • 在转发过程中,源地址也可能被转换。这通常发生在数据包离开源节点时,源地址可能会被改写成执行 NAT 的主机的 IP 地址。这样做的目的是让响应流量能够正确地返回到源节点。
  5. 使用 Cilium 网络接口:

    • Cilium 可能会使用一个专用的网络接口来进行 NAT 操作。
  6. 具体 NAT 过程:

    • 当数据包到达执行 NAT 的主机时,主机的网络堆栈会识别出需要进行地址转换。
    • NAT 规则会被应用,源 IP 地址会被替换为 Cilium 网络接口的 IP 地址
    • 目标 IP 地址也会被替换为实际 Pod 的 IP 地址。
    • 一旦地址转换完成,数据包就会被发送到正确的目的地。
  7. 响应流量:

    • 当 Pod 发送响应数据包时,响应数据包会包含 Pod 的 IP 地址作为源地址。
    • 响应数据包会首先到达执行 NAT 的主机,然后主机会再次进行 NAT,将源地址转换为 VIP,以便客户端可以接收到。
  8. 维护连接状态:

    • NAT 设备需要维护连接状态,确保响应流量能够正确地转发回原始的发送者。

请注意,具体的 NAT 过程和使用的网络接口可能会根据你的网络配置和所使用的网络插件有所不同。Cilium 提供了高度可定制的网络策略和规则,允许管理员根据需要配置 NAT 和其他网络功能。

NAT

https://mp.weixin.qq.com/s/G2EicnLI4FeAaxUWO7o8yg

标签:IP,地址,NAT,转发,Pod,数据包,Cilium
From: https://blog.csdn.net/hezuijiudexiaobai/article/details/141063149

相关文章

  • vmware nat 设置静态ip
    宿主机操作系统:win7vmware版本:15.5.7redhat镜像版本:OracleLinuxServerrelease6.8(可通过lsb_release-a查看)vmware-编辑-虚拟网络编辑器,如果没有NAT模式的网络,要新建一个如VMnet8.VMnet信息选"NAT模式".点"NAT设置"记下来下面的子网ip(如192.168.85.0)子网掩码(......
  • 使用Pinata在IPFS上存储NFT图片的实践
    文章目录前言一、什么是IPFS?二、为什么NFT需要IPFS?三、Pinata:IPFS上的存储解决方案四、实践:使用Pinata存储NFT图片1.注册2.获取API密钥与网关3.上传图片到IPFS总结前言随着区块链技术的快速发展,NFT(非同质化代币)在数字艺术、游戏和收藏品等领域变得越来越流行......
  • react-native 包管理器
    什么是Node.js Node是一个服务端的JavaScript解释器,将改变服务器应该如何工作,Node不是JavaScript而是一个服务器程序 什么是npmnpm(nodepackagemanager)是Node的包管理,允许在Node.js应用中创建、重写、共享 Npm模块的本地安装和全局安装本地安装:安装库在本地项目......
  • [ARC179E] Rectangle Concatenation
    MyBlogs[ARC179E]RectangleConcatenation唐完了。稍微观察一下发现矩形只有两种形态。考虑暴力:从每个\(i\)开始向后扫,设\(f_{j,0}\)表示能否拼在左右,\(f_{j,1}\)表示能否拼在上下。设\(S_{l,r}\)表示\([l,r]\)内矩形的面积和,没想到用面积判就败了:\[\begin{aligned......
  • 在 Windows 上使用 LCX(Local Channel eXchange)来进行本地和远程转发,此大纲旨在提供顶
    LCX(LocalChanneleXchange)通常指的是一种用于网络协议中的本地和远程转发技术。如果你在谈论的是与LCX相关的网络配置,它可能涉及不同的上下文,例如在通信协议或网络交换中。本地和远程转发的基本概念:本地转发(LocalForwarding):本地转发将本地计算机上的一个端口转发到......
  • AI Native应用中的模型微调
    AINative应用中的模型微调是一种非常重要的技术手段,它能够让预训练的人工智能模型更好地适应具体的应用场景,从而提高模型的性能和实用性。下面是一些关于模型微调的重要点和细节:定义•模型微调指的是在预训练模型的基础上,使用特定任务或数据集的数据对模型进行进一步训练的......
  • Namespoace Terminating 解决办法
    场景:当我们删除某个k8s命名空间时候,有时候会半天删不掉,一直提示Terminating,下面介绍解决办法:[root@rocky01kubeasz]#kubectldeletensprom[root@rocky01~]#kubectlgetns|grepprompromTerminating6m7s####[root@rocky01~]#NS=prom#......
  • 华为防火墙NAT源地址转换基础配置详解
      本次实验主要针对防火墙NAT基本的配置进行详解,内容主要有防火墙EasyIPNAT的基础配置和NAPT以及NO-PAT基本配置实验最后再通过防火墙NAT服务器映射转换。1.1实验拓扑:1.2NAT实验地址规划表:序号设备名称接口IP地址/掩码1出口防火墙GE0/0/0192.168........
  • 微信小程序-如何解决onShareAppMessage转发gif格式图片不展示?【亲测有效】
    1、开发小程序过程中,如果使用gif,在微信开发者工具中是可以正确显示图片的,但是发布之后,在真机上体验就不行了,无法显示分享的图片,对方也无法看到图片。2、查看文档,发现微信小程序分享的时候,自定义的图片类型只支持:PNG,JPG。不能支持,gif。3、如何解决呢?机密也在文档中,亲测有效,完美解......
  • 分页:Paginator
    提要:列表分页主要是明白:列表当前需要显示内容索引=(列表当前页数-1)*每页显示条数 至 列表当前页数*每页显示条数一、Django的内置分页Django内置的分页需要使用到3个类:Paginator、EmptyPage、PageNotAnInteger1.1Paginator介绍paginator=Paginator(全部数据,每页显示条......