您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

cilium IP地址伪装Masquerading

时间:2022-09-15 13:16:10  来源:今日头条  作者:煮酒论架构

Masquerading

POD的IPv4地址是典型的RFC1918私有地址块,因此不可公开路由。cilium将自动将离开群集的所有流量的源IP地址伪装为节点的IPv4地址,因为节点的IP地址已经在网络上可路由。

 

对于IPv6地址,只有在使用iptables实现模式时才执行伪装。

通过配置enable-ipv4-masquerade: false可以禁用IPV4地址伪装功能。enable-ipv6-masquerade: false可以禁用IPV6地址伪装。

配置

设置路由 CIDR

默认行为是排除本地节点的IP分配CIDR内的任何目的地。如果pod IP可以在范围更大的网络上路由,则可以使用以下选项指定该网络:ipv4-native-routing-cidr: 10.0.0.0/8(或ipv6-native-routing-cidr: fd00::/100,用于ipv6地址),该选项的含义是,目标地址是指定cidr内的所有目的地都不会被伪装。

设置伪装接口

伪装接口的配置详见下面的实现模型章节部分。

实现模型

基于eBPF

linux kernel 版本4.19之上时,基于eBPF是效率最高的地址伪装实现。通过helm安装时可通过选项bpf.masquerade=true启动。

当前版本cilium的eBPF地址伪装是通过 BPF NodePort特性实现的,未来会将解耦对BPF NodePort的依赖(Github issue 13732)以提升合规性与性能。

伪装只能在运行eBPF伪装程序的设备上进行。这意味着,如果在发送数据包的设备上运行伪装程序,从pod发送到外部地址的数据包将被伪装(到主机发送设备IPv4地址)。如果未指定,程序将自动附加到BPF NodePort设备检测机制选择的设备。要手动更改此设置,请使用devices选项。cilium status命令可以查看伪装程序正在哪些设备上运行:

$ kubectl -n kube-system exec ds/cilium -- cilium status | grep Masquerading
Masquerading:   BPF (ip-masq-agent)   [eth0, eth1]  10.0.0.0/16

上面的输出显示,伪装程序正在eth0和eth1设备上运行。

基于eBPF的伪装程序可以处理以下IPV4 L4协议:

  • TCP
  • UPD
  • ICMP(仅 Echo 请求/响应类数据包)

 

默认情况下,从pod发送到ipv4-native-routing-cidr范围之外的IP地址的所有数据包都被伪装,但发送到群集其它节点的数据包除外。排除CIDR显示在上述cilium status输出(10.0.0.1/16)中。

当启用eBPF伪装时,从POD到集群节点外部IP的流量也不会被伪装。eBPF实现在这方面不同于基于iptables的伪装。详细信息可查看GitHub issue 17177。

为了实现更细粒度的控制,Cilium在eBPF中实现了ip-masq-agent,该代理可以通过 helm选项ipMasqAgent.enabled=true配置开启。

基于eBPF的ip-masq-agent支持配置文件中设置的nonMasqueradeCIDRs和masqLinkLocal选项。从pod发送到属于非伪装CIDR的任何CIDR的目的地的数据包不会被伪装。如果配置文件为空,代理将提供以下非伪装CIDR:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 100.64.0.0/10
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 240.0.0.0/4

 

此外,如果masqLinkLocal未设置或设置为false,则169.254.0.0/16将附加到非伪装CIDR列表。

agent使用Fsnotify跟踪配置文件的更新,因此不需要相对原始的resyncInterval选项。

下面的实例展示了如果通过ConfigMap配置agent并验证。

apiVersion: v1
  kind: ConfigMap
  metadata:
    name: ip-masq-agent
  data:
    config: |
      nonMasqueradeCIDRs:
      - 10.0.0.0/8
      - 172.16.0.0/12
      - 192.168.0.0/16
      masqLinkLocal: true
$ kubectl create -n kube-system -f https://raw.githubusercontent.com/cilium/cilium/1.12.1/examples/kube.NETes-ip-masq-agent/rfc1918.yaml

$ # WAIt ~60s until the ConfigMap is propagated into the configuration file

$ kubectl -n kube-system exec ds/cilium -- cilium bpf ipmasq list
IP PREFIX/ADDRESS
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

基于eBPF的地址伪装暂不支持IPV6

 

基于iptables

基于iptables地址伪装是在所有版本的内核都可以工作的通用实现。

默认行为将伪装离开非Cilium网络设备的所有流量。这通常会导致出现错误的行为。使用选项
egress-masquerade-interfaces: eth0可以限制执行伪装的网络设备接口。

也可以接口前缀的方法来指定执行接口。如指定eth+,所有匹配前缀eth的接口都将执行伪装。



Tags:cilium   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Cilium:基于eBPF的高效云原生网络和ServiceMesh方案
Cilium 在 Linux 内核的不同点注入 eBPF 程序,提供适合云原生时代的连接层,该层使用 Kubernetes identities 而不是 IP 地址,并允许绕过部分网络堆栈以获得更好的性能。Cilium...【详细内容】
2023-06-29  Search: cilium  点击:(188)  评论:(0)  加入收藏
cilium IP地址伪装Masquerading
MasqueradingPOD的IPv4地址是典型的RFC1918私有地址块,因此不可公开路由。cilium将自动将离开群集的所有流量的源IP地址伪装为节点的IPv4地址,因为节点的IP地址已经在网络上可...【详细内容】
2022-09-15  Search: cilium  点击:(739)  评论:(0)  加入收藏
▌简易百科推荐
手机就可以修改WiFi密码,进行网络提速,还能防止别人蹭网
随着网络的普及和使用频率的增加,很多人可能遇到了一些网络管理上的问题,比如忘记了WiFi密码、网络速度缓慢、或者发现有不明设备在家中蹭网。相信朋友们也曾遇到过吧?但是,你知...【详细内容】
2024-04-03  老毛桃    Tags:WiFi密码   点击:(7)  评论:(0)  加入收藏
手机WiFi信号满格却接收消息延迟?这里有妙招帮你解决!
在现代社会,手机已经成为了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐,手机都扮演着重要的角色。然而,有时我们会遇到一些令人烦恼的问题,比如明明手机WiFi信号满格...【详细内容】
2024-04-03  蔡前进    Tags:手机WiFi   点击:(6)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01    安全牛  Tags:SASE   点击:(10)  评论:(0)  加入收藏
提示“该网站安全证书存在问题,连接可能不安全”如何解决
在你输入网址并浏览网页时,如果你的浏览器弹出一个警告,提示“网站的安全证书存在问题”,或是显示一个红色的锁标志,这些都是网站不安全的警示。这些提示通常是由HTTPS协议中的S...【详细内容】
2024-03-18  倏然间    Tags:网站安全证书   点击:(9)  评论:(0)  加入收藏
如何有效排除CAN总线错误
控制器局域网(CAN)控制器局域网(CAN)是现代车辆中电子元件无缝运行的基础。在远程信息处理领域,CAN总线系统的效率至关重要,其能够实现支撑当今汽车技术的复杂功能。然而,CAN总...【详细内容】
2024-02-20    千家网  Tags:CAN   点击:(48)  评论:(0)  加入收藏
网络连接受限或无连接怎么办?这里提供几个修复办法
可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。排除和解决“连接受限或无连接”错误此错误可能由计算机上...【详细内容】
2024-02-06  驾驭信息纵横科技    Tags:网络连接受限   点击:(43)  评论:(0)  加入收藏
如何将Mac连接到以太网?这里有详细步骤
在Wi-Fi成为最流行、最简单的互联网连接方式之前,每台Mac和电脑都使用以太网电缆连接。这是Mac可用端口的标准功能。如何将Mac连接到以太网如果你的Mac有以太网端口,则需要以...【详细内容】
2024-02-03  驾驭信息纵横科技    Tags:Mac   点击:(66)  评论:(0)  加入收藏
简易百科之什么是端口映射
端口映射,也称为端口转发,是一种网络通信中的技术手段,通过将内网中的一个端口上的数据流量转发到另一个端口,使得外部网络能够访问到内部网络中的特定服务。在实现上,端口映射通...【详细内容】
2024-01-26    简易百科  Tags:端口映射   点击:(156)  评论:(0)  加入收藏
ip因频繁登陆已被禁止访问 无法显示图片 怎么办
首先,我们要明白,部分网站为了有效遏制数据爬取和非法攻击,保证访问速度和普通用户查询,会在系统中增加网络安全设备,加强安全防护机制,并提前设置安全访问规则。因此,一旦用户的行...【详细内容】
2024-01-20  何福意思    Tags:ip   点击:(63)  评论:(0)  加入收藏
电脑连上wifi却上不了网怎么办
当电脑连接上 WiFi 却无法上网时,可能会让人感到困惑和沮丧。这个问题通常会有多种可能的原因,包括网络配置问题、路由器故障、无线适配器问题等。在面对这个问题时,可以尝试以...【详细内容】
2024-01-16  编程资料站    Tags:wifi   点击:(69)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条