当前位置: 首页 > news >正文

26. 通过 cilium pwru了解网络包的来龙去脉

pwru是一种基于eBPF的工具,可跟踪Linux内核中的网络数据包,并具有先进的过滤功能。它允许对内核状态进行细粒度检查,以便通过调试网络连接问题来解决传统工具(如iptables TRACE或tcpdump)难以解决甚至无法解决的问题。在本文中,我将介绍pwru如何在不必事先了解所有内容的情况下解决了一个网络谜团。

数据包从哪里来

我们在Linux主机上运行Kubernetes,其中主机本身是使用BGP无编号的BGP路由器。因此,我们的NIC仅具有IPv6链路本地地址,但我们具有指定这些NIC作为下一跳并指定显式IPv4源地址的IPv4路由表条目。

这种设置大部分情况下都可以正常工作,但是我们开始发现通过kube-proxy进行连接时会出现丢包问题。路由会在一段时间内神秘地失败,然后再次开始工作。使用iptables TRACE跟踪数据包时,我可以看到kube-proxy正在执行某些DNAT操作,并最终进行MASQUERADE和输出操作。输出看起来很好,但数据包从未离开盒子。显然,在iptables堆栈之后,在实际到达NIC驱动程序之前它被丢弃了。

自然倾向于关注您可以追踪的内容,因此我对iptables正在做某些我没有看到的事情感兴趣。

图片加载中

数据包你在哪里

一旦我发现了pwru,我就用一个过滤器启动它来匹配我丢失的数据包,并获得了一个有效

相关文章:

  • 快递排序Java
  • gstreamer插件开发-Adding Properties
  • 搭建自己的搜索引擎——oh-my-search使用
  • 【会议征稿通知】2024第四届神经网络、信息与通信工程国际学术会议(NNICE 2024)
  • 计算文本相似度,输出相似度最高的n个
  • web 自动化测试,一定得掌握的 8 个核心知识点
  • react-组件间的通讯
  • Chromium源码由浅入深(四)
  • python 裁剪图片并保存
  • 18、Python -- 函数入门与定义函数,多返回值函数和递归函数
  • 深度学习面试题目01
  • 每日一题 2520. 统计能整除数字的位数(简单)
  • Spring Security —漏洞防护—跨站请求伪造(CSRF)
  • MySQL数据库 #4
  • Spring MVC
  • 【Java 进阶篇】Java Servlet URL Patterns 详解
  • 高效集成|这一次,快人一步
  • 电脑怎么共享屏幕?电脑屏幕共享软件分享!
  • VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
  • Linux:firewalld防火墙-(实验2)-IP伪装与端口转发(4)
  • 复旦大学文科杰出教授裘锡圭逝世,享年90岁
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长
  • 中国海警依法驱离日非法进入我钓鱼岛领海船只
  • 上海将发布新一版不予行政处罚清单、首份减轻行政处罚清单
  • 央行:今日起下调再贷款利率0.25个百分点
  • 个人住房公积金贷款利率下调,100万元30年期贷款总利息将减少近5万元