自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 Linux异常文件名文件如何删除

摘要 当Linux系统中出现因脚本错误生成的特殊格式文件(如包含换行符和特殊字符的文件名),导致常规rm命令无法删除时,可以通过以下步骤解决: 使用ls -i命令查看文件的inode号 使用find命令结合inode号进行删除:find . -inum [inode号] -delete 这种方法通过文件系统的inode标识而非文件名来定位和删除文件,有效解决了特殊字符文件名导致的删除难题。

2026-04-14 14:33:41 34

原创 Linux如何指定源端口打流

摘要:本文探讨了网络丢包问题排查中构造特定五元组流量的方法。除nc工具外,还介绍了通过Linux内核参数/proc/sys/net/ipv4/ip_local_port_range控制源端口范围的技术,如使用sysctl命令将源端口固定为特定值(如45004)进行测试。文章指出Linux内核协议栈设计中存在许多值得学习的知识点,为网络问题排查提供了更多思路。(149字)

2026-03-23 12:17:52 46

原创 如何在SSH 登录后显示自定义信息

文章摘要 本文介绍了在CentOS等Linux系统中通过SSH登录后显示自定义提示信息的两种方法。重点推荐使用PAM的pam_exec结合脚本实现动态内容显示,详细说明了创建/etc/profile.d/login-message.sh脚本的步骤,包含系统版本、内核版本、当前时间等信息的显示逻辑,并给出权限设置命令。同时提到还可以通过修改/etc/motd文件等传统方式实现类似功能。该方法既能提供有用的系统信息,又能起到安全警示作用。

2026-03-05 11:37:11 77

原创 gdb调试方法总结

摘要 GDB是C程序调试的重要工具,具有强大的变量打印和离线调试能力。主要功能包括:设置函数和行号断点、使用Python脚本批量打印数组元素、通过watchpoint监控变量修改、定时采集变量信息等。这些功能在排查内存修改、批量调试等场景非常实用。GDB还提供更多高级调试方法有待探索。

2026-01-22 23:40:00 92

原创 dpdk crash调试方法

本文总结了DPDK程序内存被改写导致崩溃的排查方法。首先指出GCC的栈保护机制(-fstack-protector)仅能检测栈溢出,而DPDK常见问题是堆/共享内存越界(如mbuf操作越界、ring buffer越界等)。然后介绍了两种GDB调试技巧:使用watch命令监控变量修改,以及定时采集变量信息的脚本方法。这些方法有助于快速定位内存被非法改写的问题,为DPDK程序调试提供参考。

2025-12-27 11:37:32 384

原创 dpdk-testpmd在超过128核双numa场景启动失败问题

摘要 在超过128核双NUMA场景中,DPDK-testpmd启动失败,问题表现为无法使用NUMA1的内存。根本原因是DPDK默认配置限制了最大逻辑核心数为128(RTE_MAX_LCORE=128),导致系统只能探测到NUMA0节点。通过分析启动日志和源代码,发现该限制由x86架构的meson.build文件定义。解决方案是在编译时增加-Dmax_lcores=256参数,扩大支持的核心数范围。该问题反映了DPDK与硬件配置的紧密耦合性,但通过编译参数调整即可适配不同规模的硬件环境。

2025-12-25 16:27:56 363

原创 Linux系统丢包问题

摘要: Linux服务器VNC连接失败问题排查发现,5.10内核环境下除SSH外所有端口均无法访问。经分析,新版内核引入的firewalld工具默认仅放行SSH服务,导致其他端口被拦截。通过配置firewalld放行VNC端口(5910)解决问题。对比4.19内核无此现象,说明高版本系统防火墙管理机制变化。典型Linux丢包原因优先级:防火墙规则 > 多网卡rp_filter > 其他内核问题。附VNC协议简介及常见启动错误解决方法。 (字数:149)

2025-12-24 12:38:45 485

原创 Linux多网卡场景中ping不通问题

摘要:本文分析了一个Linux多网卡环境下的ping不通问题。测试显示reply报文已返回但被丢弃,排查发现是内核反向路径过滤(RPF)机制导致。RPF严格模式下,内核会校验入接口是否为最佳返回路径,否则丢弃报文。解决方法包括关闭RPF校验或调整路由。这反映了Linux协议栈对IP层路由的严格校验机制在多网卡场景下的影响。

2025-12-08 14:50:51 458

原创 python 使用openssl时,遇到ValueError: unsupported hash type sha1异常等问题

摘要:在Python 2.7环境中使用OpenSSL 1.1.1+版本时,出现"unsupported hash type"错误,原因是Python 2.7的_hashlib模块直接调用已被废弃的OpenSSL旧API。解决方法包括安装兼容包:yum install compat-openssl10和yum install ncurses-compat-libs,使系统支持OpenSSL 1.0接口。该问题凸显了Python 2.7已停止支持的技术债务风险。

2025-12-08 12:00:15 315

原创 python脚本中ssh免密未生效问题

摘要:在测试系统中发现SSH免密登录异常,经排查是由于Paramiko库无法识别OpenSSH新格式的RSA私钥。问题表现为执行Python脚本时报"not a valid RSA private key file"错误。解决方案有两种:升级Paramiko版本或使用ssh-keygen命令将私钥转换为传统PEM格式(ssh-keygen -p -m PEM -f ~/.ssh/id_rsa)。该问题与系统版本差异(CentOS7和8)相关,关键在于私钥格式的兼容性处理。

2025-12-03 01:02:19 480

原创 v3.03 trex接管Mellanox网卡报错Verbs device not found问题

摘要: 在运行TRex v3.03时出现DPDK无法绑定Mellanox网卡的问题,错误提示"Verbs device not found",原因是缺少InfiniBand/RDMA驱动支持。Mellanox网卡在DPDK中有两种驱动模式:Verbs模式(推荐)需要ib_uverbs内核模块,UIO模式功能受限。解决方法是通过加载必要的RDMA内核模块(ib_uverbs、mlx5_ib、rdma_cm)来启用完整的网卡功能支持。

2025-11-13 14:31:12 272

原创 dpdk如何与内核进行交互——vdev的用法

本文主要介绍DPDK中vdev参数的使用方法,重点讲解如何通过虚拟设备实现用户态程序与内核的网络交互。文章以dpdk-l2fwd为例,展示了如何利用--vdev=net_tap参数将网卡报文转发到TAP设备,实现内核交互。此外,还列举了多种常见虚拟设备类型及其用途,包括与虚拟机通信的net_virtio、与Linux网络栈交互的net_tap、用于抓包的net_pcap等。这些虚拟设备扩展了DPDK的应用场景,使其不仅支持物理网卡,还能实现与虚拟机、宿主机网络、加密硬件等的交互。

2025-10-20 14:04:06 493

原创 网卡主动发包问题分析

本文分析了网卡主动发包问题,通过抓包发现网卡主动发送的报文端口为5353端口,在Linux服务器中,5353端口被mDNS服务占用。通过lsof/netstat命令可查看到avahi-daemon进程监听该端口。提供了临时停止和永久禁用avahi服务的systemctl命令。最终验证表明该方法有效阻止了非测试报文发送,解决了网卡测试中出现的干扰问题。

2025-10-16 15:42:13 316

原创 遇到问题不能将就:解决dhcp ip变化问题

摘要: 公司测试环境跳板机因DHCP动态分配IP,每次机房断电后需人工查看新IP并通知同事,造成不便。为解决此问题,先编写脚本扫描网段自动识别可用IP,之后通过申请DHCP保留地址,为跳板机固定IP,彻底解决问题。问题解决得悄无声息,同事无感知。该方案既提升了效率,也避免了重复性人工操作。

2025-10-13 10:43:55 411 1

原创 腾讯云网络vpc之arping返回MAC一样问题

腾讯云VPC网络采用ARP代理机制,子网内ARP请求会被统一劫持并返回相同MAC地址(如FE:EE:FF:AD:71:C8)。其通信流程为:VM通过ARP代理、桥接、主机和虚拟交换机后,经GRE封装在VPC网络传输。该机制利用ARP协议的"问-答"特性,由路由器伪装目标主机响应请求,实现跨物理网络的通信透明化。对比其他云厂商,腾讯云和阿里云采用统一MAC返回方式,而华为云和AWS则保留传统以太网特性。这种设计通过虚拟交换机实现报文转发时的MAC地址替换,使通信双方VM无感知。

2025-10-09 15:01:03 1037

原创 谈谈想法-读《一个中科大差生的8年程序员工作总结》

《职场成长启示录:一个工程师的十年蜕变》摘要: 一位工程师回顾2013-2016年职场快速成长经历,总结出五条核心经验:1)突破原生家庭思维局限,善用资源但要独立决策;2)主动承担挑战性工作,在解决问题中脱颖而出;3)建立复盘机制,确保方向正确比速度更重要;4)通过技术分享提升专业影响力;5)完成从学生思维到职场思维的转变。文章特别强调,职场晋升需要能力、机遇与思维升级的三重作用,同时指出当代年轻人面临的住房压力与阶层跃升困境。作者以亲身经历说明,职业发展既要把握机遇,更要建立系统化的成长方法论。

2025-09-22 12:15:01 347

原创 问题1:虚拟私有云(VPC)的核心设计原则是什么?

本文讨论了vpc和其核心设计原则,设计原则通常包括隔离性、高可用性、安全性、分层设计、灵活性可扩展性和成本等。

2025-09-18 14:05:02 396

原创 Linux操作系统如何不进入图形化界面

Linux系统禁用图形界面启动的方法 对于使用Systemd的现代Linux系统,可以通过修改默认目标来实现禁用图形界面启动。使用systemctl get-default查看当前目标,set-default multi-user.target设置为命令行模式,或graphical.target恢复图形界面。这种方法简单有效,适合需要纯命令行环境的用户。

2025-08-09 17:35:21 544

原创 当服务器多了时,如何管理?

本文介绍了一个简单实用的服务器管理脚本,可帮助用户快速连接和管理多台服务器。脚本通过菜单方式显示服务器列表(包括IP和名称),用户只需输入对应数字即可通过SSH连接目标服务器。该脚本支持自定义连接参数(如TCPKeepAlive),解决了服务器太多难以记忆的问题,提高了运维效率。特别适合需要管理多台服务器的系统管理员使用。

2025-08-08 15:59:24 271

原创 tcpdump问题记录

本文分析了使用scapy发送VLAN报文和tcpdump抓包时遇到的问题。发送方向(tx)只能通过ether proto 0x8100过滤抓到VLAN报文,而接收方向(rx)则可以通过vlan或ether proto 0x0800过滤抓到包,但不能用ether proto 0x8100过滤。这表明在发送时VLAN标签被正确处理,但在接收时以太协议类型被修改为0x0800。文章总结出一个抓包条件对比表,展示了不同方向的过滤效果差异,并提出了需要进一步分析这种异常现象的原因。

2025-08-07 21:05:03 480

原创 当lscpu显示为中文时,如何切换到英文,或者反切?

摘要: 系统语言环境导致lscpu命令输出中文,影响监控脚本过滤。解决方法是将/etc/locale.conf中的语言改为LANG="en_US.UTF-8",或临时执行export LANG="en_US.UTF-8"使命令输出恢复英文格式,确保脚本正常运行。

2025-07-19 03:38:13 281

原创 远程登录docker执行shell报错input is not a terminal问题

摘要 通过SSH远程执行Docker容器命令时出现"input is not a terminal"错误,原因是使用了交互式终端参数-it。分析表明-i保持标准输入打开,-t分配伪终端,但SSH环境不支持交互模式。解决方案是去掉-it参数,改为非交互式命令执行方式。修改后的命令成功执行了容器内的lscpu命令。

2025-07-11 21:13:07 475

原创 python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free

Python SSL模块加载失败问题分析与解决 问题描述:运行Python脚本时出现"_ssl.so: undefined symbol: sk_pop_free"错误,表明_ssl模块无法找到OpenSSL库中的sk_pop_free符号。 原因分析:该问题通常由OpenSSL版本不匹配导致,特别是Python编译时使用的OpenSSL版本与运行时加载的版本不一致。sk_pop_free函数在OpenSSL 1.1.0及以上版本中已被弃用。 解决方案: 检查系统OpenSSL版本:op

2025-07-08 14:37:43 631

原创 一行配置引起的Linux默认路由未生效问题

摘要 Linux系统安装后出现默认路由缺失问题,检查发现网卡配置文件ifcfg-xxx中存在DEFROUTE="no"参数导致。常规解决方案(添加GATEWAY参数)在该情况下无效,需重点关注DEFROUTE参数设置。该参数控制是否将此网卡配置作为默认路由源,设置"no"会阻止系统建立默认路由。

2025-07-07 18:21:46 681

原创 dpdk-testpmd 统计显示

摘要:Tx-packets统计异常问题分析 在测试中发现testpmd的show port stats命令显示的Tx-packets值异常大,经代码分析确认该统计来自硬件。代码追踪显示,rte_eth_stats_get最终调用的是设备驱动(dev->dev_ops->stats_get)提供的硬件统计接口,因此该问题可能是硬件统计异常导致的,而非纯软件问题。

2025-07-05 03:35:14 697

原创 Linux 磁盘

本文简要分析Linux磁盘管理命令的使用差异。通过df -h查看的是已挂载文件系统的磁盘空间使用情况,显示的是逻辑分区容量。而fdisk -l和lsblk则能展示物理磁盘与分区的对应关系,如示例中vda物理盘被划分为3个逻辑分区(vda1、vda2、vda3),其中vda3作为根分区挂载使用。这些命令各司其职,df侧重空间使用统计,fdisk和lsblk侧重物理磁盘与分区结构展示,共同构成了完整的磁盘管理工具链。

2025-07-05 03:13:43 275

原创 dpdk编译问题记录

记录平时使用dpdk遇到的一些问题:比如各种编译问题

2025-07-03 21:01:36 385

原创 Linux设置max_vfs失败问题分析

设置max_vfs失败,报错"Function not implemented"。通过分析igb_uio源码发现,问题源于pci_enable_sriov函数返回ENOSYS(-38)。深入排查发现是VF的Function Dependency Link(iov->link)与设备功能号(dev->devfn)不匹配,且物理功能(pdev->is_physfn)未启用导致。该问题涉及内核与硬件配置的交互,需要通过修改igb_uio模块增加调试信息才

2025-06-30 12:01:35 466

原创 5.10内核copy_to_user失败问题

摘要 一个内核模块在4.19内核中通过/proc文件交互正常,但在5.10内核中失败。strace显示读取proc文件时进入死循环,内容全为零。调试发现copy_to_user调用access_ok检查失败。问题表现为内核版本升级导致的内存访问验证机制变化,具体原因和解决方案尚不明确。

2025-06-17 16:05:29 354

原创 我有一个想法

我希望能够在家乡高中设立"鸿鹄"奖学金,通过每年9月的数学竞赛选拔6名学生和2名教师,组织他们前往北京、上海等地名校参观学习,游览文化景点,并安排学术讲座。旨在开阔学弟妹们的视野。奖学金主要用于报销团队考察费用。我希望这个项目能帮助学生更好地理解读书的意义,哪怕只能改变一个人也值得。同时也期待更多人参与支持这个计划。

2025-06-16 23:18:32 1176 10

原创 一些学习网站分享

黄大年茶思屋是由华为打造的非盈利网络科技平台(官网),提供免费全球科技资讯查阅服务。该平台旨在促进科技信息共享,帮助公众了解前沿科技动态。

2025-06-11 15:24:55 324

原创 dpdk-testpmd 测试常用功能记录

摘要:通过testpmd发送单条测试报文需要设置burst参数为1(默认值为32或64),然后执行start tx_first命令。具体操作为:在testpmd命令行输入"set burst 1"设置参数,确认后执行"start tx_first"即可发送指定数量的数据包。

2025-06-11 14:08:20 497

原创 牛奶、羊奶都能喝,为什么没人喝猪奶?

《为何无人喝猪奶?一个小疑问引发的思考》摘要:人们日常饮用牛奶、羊奶却几乎不见猪奶,这个看似平常的现象背后藏着有趣的科学原因。经查阅资料发现,猪奶产量低、营养价值高但不易保存,且母猪哺乳期短、挤奶困难,导致商业化成本过高。成年人容易对常见现象习以为常的思维惯性,并指出虽然目前猪奶难以普及,但随着技术进步,未来或有可能成为新兴乳品。这个生活小疑问展现了保持好奇心的重要性。

2025-06-10 20:14:25 404

原创 第一次组装台式机:显示器无信号问题

摘要 新组装的台式机开机后显示器无信号,10秒后黑屏。经排查发现将显示器视频线误接在主板的集成显卡接口上,而非独立显卡接口,导致信号无法输出。正确操作应将显示器连接至独立显卡的视频输出端口。这一常见问题源于对独立显卡与集成显卡输出方式的混淆。

2025-06-10 01:50:26 925

原创 nginx 服务启动失败问题记录

Nginx启动报错显示IPv6监听失败,原因可能是系统未启用IPv6支持。解决方法有两种:一是修改Nginx配置文件,将listen [::]:80注释或改为listen 80仅监听IPv4;二是启用系统IPv6支持,通过lsmod | grep ipv6检查并modprobe ipv6加载模块。根据实际需求选择禁用IPv6监听或启用系统IPv6支持即可解决问题。

2025-06-05 14:58:23 484

原创 阿里云云网络论文:Nezha,计算网络解耦下的vSwitch池化架构

Nezha论文提出了一种创新的计算网络解耦架构,通过将vSwitch资源池化来突破单SmartNIC的性能限制。该方案将虚拟网卡处理负载拆分为无状态前端(卸载到远端资源池)和有状态后端(本地处理),利用集群所有SmartNIC资源实现性能弹性扩展。实际部署显示其连接新建能力提升3-4.4倍,并发流支持能力提升5-50倍,vNIC密度提升超40倍,显著降低了vSwitch过载率。这项技术为云数据中心提供了高性能、低成本的网络解耦方案,无需额外硬件投入即实现资源利用率优化。

2025-05-27 11:24:37 1420

原创 腾讯FORNAX:基于智能网卡的大规模VPC会话加速方案

腾讯云在论文《FORNAX:基于智能网卡的大规模VPC会话加速方案》中提出了一种创新的云网络加速解决方案,利用自研的银杉智能网卡实现超大规模公有云网络的高效加速。传统方法依赖软件管理硬件流表,面临流量激增时的处理延迟和资源占用问题。FORNAX方案通过硬件原生流表管理架构,将单向流表管理升级为双向会话管理,聚合会话元数据,使硬件能自主感知流量生命周期和策略变化,减少软件资源开销,提升网络性能。该方案有效解决了传统方法的瓶颈,为大规模云网络加速提供了新的技术路径。

2025-05-20 15:36:43 668

原创 为什么 mac os .bashrc 没有自动加载?

自macOS Catalina起,默认终端shell由Bash改为Zsh,导致.bashrc文件不再自动生效。用户可通过运行echo $SHELL命令确认当前使用的shell类型。若结果显示为Zsh,则需要编辑或创建.zshrc文件来进行相关配置,而非.bashrc文件。这一改变对于习惯使用Bash的用户需特别注意,以确保终端环境配置的正确性。

2025-05-12 12:00:59 698

原创 关于短视频的一点想法

我觉得AI + 历史短视频,将历史转为小短视频的形式,或许有一些前景。比如上下五千年,又比如成语故事之类。学习不再是固定的文字,而是动起来的动画,给人更好的理解。再比如把课本上的课文,转为为短视频等。

2025-04-06 09:35:17 148

原创 成长路上的记录

以前,我很害怕问题,现在觉得没有问题,那是不可能的,有疑问才是常态化状态,弄懂疑问的过程,就是成长。(专利点的来源就是问题) – 2024年某天。

2025-04-02 10:30:18 459

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除