我使用的是内核 5.11.0,在 ip-route 手册[1]中可以读到:
Starting with Linux kernel version 3.6, there is no routing cache
for IPv4 anymore. Hence ip route show cached will never print any
entries on systems with this or newer kernel versions.
如果我输入,ip route show table cache
则没有输出,正如预期的那样。
但是,当我输入:ip route get 10.0.10.44
这是输出:
10.0.10.44 dev eth0 src 10.0.10.40 uid 1000
cache
为什么会提示cache
没有缓存?我很困惑
[1]https://www.man7.org/linux/man-pages/man8/ip-route.8.html
答案1
以前似乎有两种不同的“缓存”,即路由缓存和转发信息库 (FIB)。后者仍然存在,也被称为缓存(例如http://linux-ip.net/html/routing-cache.html)因此造成混乱。此链接有帮助https://workshop.netfilter.org/2013/wiki/images/2/2a/DaveM_route_cache_removed_nfws2013.pdf