登录
首页 >  文章 >  python教程

Linux快速删除指定连接技巧

时间:2026-02-06 17:54:51 217浏览 收藏

积累知识,胜过积蓄金银!毕竟在文章开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Linux 快速删除指定连接方法》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

conntrack -L -s 和 -d 参数在大多数发行版中已废弃且无过滤作用,实际列出所有连接;正确方式是用 grep 精确匹配 conntrack -L 输出,或用 conntrack -D -s/-d 进行源/目的IP删除。

Linux 如何用 conntrack -L -s IP -d IP 过滤指定连接并快速删除

conntrack -L -s 和 -d 参数实际不生效,别白试了

直接说结论:conntrack -L -s IP -d IP 命令根本不会按源/目的 IP 过滤输出——conntrack -L-s-d 选项在大多数发行版(如 Ubuntu、CentOS 7+/RHEL 8+)的 conntrack 工具中**已被废弃且无过滤作用**,只会原样列出所有连接。你看到的“似乎有结果”,大概率是碰巧匹配了某几行文本,而非真正按五元组过滤。

正确过滤指定连接:用 grep 配合 conntrack -L

真实可行的做法是先全量导出,再用 grep 精确匹配连接状态行。注意 conntrack 输出格式固定,每行以协议开头(如 tcp),后跟源 IP:端口、目的 IP:端口等字段:

  • conntrack -L | grep "src=192.168.1.100.*dst=10.0.0.5" —— 匹配源为 192.168.1.100、目的为 10.0.0.5 的任意连接(含不同协议、端口)
  • conntrack -L | grep "tcp.*src=192.168.1.100.*dst=10.0.0.5.*dport=80" —— 加上协议和目的端口,更精准
  • 若需严格匹配整行(防误匹配中间字段),用 grep -E "^tcp.*src=...dst=..."

快速删除匹配到的连接:用 --delete 和 --orig-src/--orig-dst

conntrack 不支持直接从管道删除,必须把匹配结果转成 conntrack -D 可识别的参数格式。最稳妥的方式是提取原始连接标识(即 --orig-src / --orig-dst 等):

  • 先看一条典型输出:tcp 6 431999 ESTABLISHED src=192.168.1.100 dst=10.0.0.5 sport=54321 dport=22 [ASSURED]
  • 对应删除命令:conntrack -D --orig-src 192.168.1.100 --orig-dst 10.0.0.5 --proto tcp --sport 54321 --dport 22
  • 批量删(慎用):conntrack -L | awk '/src=192.168.1.100.*dst=10.0.0.5/ {print "conntrack -D --orig-src", $6, "--orig-dst", $8, "--proto", $1, "--sport", $10, "--dport", $12}' | sh

注意:--sport/--dport 在非 TCP/UDP 连接里可能不存在,脚本需加判断;生产环境建议先 echo 出命令预览,确认无误再执行。

更安全高效的替代方案:用 conntrack -D 加条件组合

conntrack 本身支持部分条件删除(无需 grep + awk),但仅限基础字段:

  • conntrack -D -s 192.168.1.100 —— 删除所有源 IP 是该地址的连接(-s 此处有效)
  • conntrack -D -d 10.0.0.5 —— 删除所有目的 IP 是该地址的连接(-d 此处也有效)
  • conntrack -D -s 192.168.1.100 -d 10.0.0.5 —— 同时指定源和目的 IP,多数版本可生效(比 grep 更可靠)
  • 但注意:此方式无法指定协议或端口,属于“宽删”,需确保目标足够唯一

真正要精确到五元组又不想写脚本?老实用 conntrack -L | grep | xargs -n1 conntrack -D 组合,但务必先测试 grep 是否只命中预期连接——连错一条,删掉的是正在传输的 SSH 或数据库连接。

到这里,我们也就讲完了《Linux快速删除指定连接技巧》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>