Linux 网络缓存大全:常见缓存表详解 + 一键清空脚本

在 Linux 网络排错中,“清缓存” 是解决诡异问题最简单有效的手段。很多时候上不了网、SSH 连不上、域名解析异常、内网不通,并不是配置错了,而是各种网络缓存 “脏数据” 在捣乱。

本文整理 Linux 下最常见、最实用的网络缓存表,包括作用说明、查看命令、清空方法,最后附赠一键清空所有网络缓存脚本,遇到网络问题直接运行,效率翻倍。


一、ARP 缓存表(邻居表)

作用:记录局域网内 IPv4/IPv6 地址与 MAC 地址的映射关系,避免每次发包都重新广播询问。

异常表现:能 ping 通网关但不通外网、IP 冲突、换路由器后断网。

查看

ip neigh
ip -4 neigh  # 只看 IPv4
ip -6 neigh  # 只看 IPv6

清空(必须 sudo)

sudo ip -4 neigh flush all
sudo ip -6 neigh flush all

二、路由缓存表

作用:缓存最近使用的路由条目,提高数据包转发效率。

异常表现:多网卡环境流量走错网卡、静态路由不生效、访问异常。

查看

ip route show cache

清空

sudo ip route flush cache

三、DNS 缓存

作用:缓存域名与 IP 的对应关系,加快解析速度。

异常表现:域名解析错误、切换 DNS 后不生效、网站打不开但 IP 能通。

Ubuntu / Debian 桌面默认使用 systemd-resolved:

查看统计

systemd-resolve --statistics

清空 DNS 缓存

sudo systemd-resolve --flush-caches

如果使用 dnsmasq:

sudo systemctl restart dnsmasq

四、Conntrack 连接跟踪表

作用:防火墙 / NAT 核心缓存,记录所有 TCP/UDP 连接状态(ESTABLISHED、TIME_WAIT 等)。

异常表现:服务器并发高时无法新建连接、SSH 频繁断开、内网穿透异常。

安装工具

sudo apt install conntrack

查看

conntrack -L
conntrack -S  # 查看连接数占用

清空

sudo conntrack -F

五、网桥 FDB 表(虚拟机 / 容器必备)

作用:记录网桥上的 MAC 地址与端口对应关系,Docker、KVM、虚拟机环境大量使用。

异常表现:虚拟机互通异常、容器网络不通。

查看

bridge fdb show

清空

sudo bridge fdb flush dev br0

六、PMTU 路径 MTU 缓存

作用:缓存网络路径最大传输单元,避免大包被丢弃。

异常表现:能 ping 小包但大包丢包、网站加载一半中断、SSH 卡顿。

清空

sudo ip route flush cache

七、多播 IGMP 缓存

作用:记录加入的多播组,用于监控、直播、IPTV 等场景。

查看

ip maddr
cat /proc/net/igmp

八、TIME_WAIT 套接字缓存

作用:TCP 断开后保留一段时间确保数据传输完毕,属于正常机制。

无法直接清空,但可开启快速回收:

sudo sysctl -w net.ipv4.tcp_tw_reuse=1
sudo sysctl -w net.ipv4.tcp_fin_timeout=30

终极:一键清空所有网络缓存脚本

遇到网络异常直接运行,90% 问题可快速缓解。

新建脚本文件flush-net-cache.sh

vim flush-net-cache.sh

粘贴内容:

#!/bin/bash

echo "清空 ARP 缓存 (IPv4 + IPv6)..."
sudo ip -4 neigh flush all
sudo ip -6 neigh flush all

echo "清空路由缓存..."
sudo ip route flush cache

echo "清空 DNS 缓存..."
sudo systemd-resolve --flush-caches

echo "清空 conntrack 连接跟踪..."
if command -v conntrack &> /dev/null; then
    sudo conntrack -F
fi

echo "清空网桥 FDB 缓存..."
sudo bridge fdb flush dev br0 2>/dev/null

echo -e "\n 所有网络缓存已清空完成!"

添加执行权限:

chmod +x flush-net-cache.sh

执行:

./flush-net-cache.sh

九、网络排错万能顺序

当你遇到:

  • 上不了网
  • SSH 连不上
  • 域名解析异常
  • 内网能通外网不通
  • 网站加载异常

按这个顺序执行:

sudo ip -4 neigh flush all
sudo ip route flush cache
sudo systemd-resolve --flush-caches
sudo conntrack -F

绝大多数问题都会立刻恢复。


十、总结

Linux 网络缓存设计初衷是提升效率,但缓存过期、脏数据、设备更换都会导致异常。学会查看与清空各类缓存,是从 “重启解决一切” 到精准排错的重要一步。

收藏本文 + 保存一键脚本,以后遇到网络问题,不用再盲目重启了。


将本页面加入收藏夹

      如果觉得本文对您有用。建议按下 Ctrl+D (Windows) 或 Cmd+D (Mac) 收藏本页,以便在下次需要时快速查阅解决方案。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress