Linux如何清理ARP缓存?

Linux如何清理ARP缓存?,第1张

命令红色字体标记

系统初始arp环境

[root@esx ~]# arp -n

Address                 HWtype  HWaddress             Flags Mask Iface

192.168.1.175           ether   00:24:1D:97:B6:7F   C  vswif0

192.168.1.120           ether   00:1F:C6:3A:DC:81      C  vswif0

192.168.1.51            (incomplete)         vswif0

执行清除所有arp 缓存命令

[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d  " $1}'|sh -x

+ arp -d 192.168.1.175

+ arp -d 192.168.1.120

+ arp -d 192.168.1.51

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

组合命令清楚所有arp缓存:

[html] view plaincopy

arp -n|awk '/^[1-9]/{system("arp -d "$1)}'

以上命令必须 root 才可以执行。

使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口)

[html] view plaincopy

ip neigh flush  dev eth0

Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。

首先我们要了解,dns查询的基本逻辑和缓存的存在位置

如图所示,基本逻辑为:

客户端 - 本机器dns解析器(如host,dnsmasq)- 本地dns服务器(比如家庭路由器)- 网络dns服务器

为了加速查询,在解析器和服务器上都有缓存在,一般而言我们要清理的是本机器上的dns缓存

显然,我们必须首先了解本地机器用的是什么解析器,可以通过看哪个进程占据了53端口来查询,因为53端口是dns服务器端口。

可以通过以下指令:

分别会下列结果

针对不同的解析器

可以用不同的命令清理

针对system-resolved:

同时为了验证dns缓存真的被清理了,可以用命令来查看缓存

针对dnsmasq:

参考:

https://devconnected.com/how-to-flush-dns-cache-on-linux/


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6073988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存