当前位置: 首页 > 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,我就用一个过滤器启动它来匹配我丢失的数据包,并获得了一个有效

http://www.dtcms.com/a/3074.html

相关文章:

  • 快递排序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)
  • 用Python做数据分析之数据筛选及分类汇总
  • Python武器库开发-面向对象篇(六)
  • 数字驱动,营销赋能丨工商职院电子商务专业学生,前往餐饮美食电商新业态基地试岗交流
  • RunnerGo UI自动化使用流程
  • Spring Boot集成SpringFox 3.0与Pageable参数处理
  • C51--单片机中断
  • 025-第三代软件开发-实现需求长时间未操作返回登录界面
  • AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的温度场测量装置的研究与设计
  • 单源最短路径 -- Dijkstra
  • 【Docker从入门到入土 5】 使用Docker-compose一键部署Wordpress平台