我有一个CentOS 5系统,作为我的networking和几个远程networking之间的IPSec VPN连接器。 最近它每天都会遇到这个问题,每天有一两次ARPcaching被填满。
这个家伙所在的本地networking是10.51.0.0/16连接到10.53.0.0/16和10.54.0.0/16 。 它有2个接口, eth0连接到internet, eth1连接到本地networking,使用ip 10.51.1.15 。
ARPcaching被10.51.119.x这样的地址10.51.119.x ,似乎有条不紊地继续填充它。 我运行tcpdump的时候,发生了ARP请求,所有这些不存在的地址源于本地ip 10.51.1.15所以它几乎就像有人在做networking扫描,但我怎么知道它是从哪里来的? 它实际上不太可能来自盒子本身,没有人应该像它那样运行扫描,但它可能来自IPSecnetworking? 我怎么知道它来自哪里?
问题解决了:卡巴斯基杀毒软件在我们的networking上进行系统发现。
为了让扫描仪获得任何(除了创buildDOS攻击)他必须接收数据包。 如果扫描看起来是源自本地连接的子网,那么他不能位于源和源之间的路由上的任何地方,因为CentOS盒和10.51.1.15之间没有任何内容。
你可以:
-e头运行tcpdump 。 这会告诉你扫描的始发者的MAC地址。 该扫描不太可能发生在10.51.0.0/16networking之外。 典型的防火墙规则会丢弃声称来自通过错误接口来访问的本地连接networking的数据包。 那么,也许你有非典型的防火墙规则;)。
我不确定我的问题是否正确,但是如果10.51.1.15是CentOS盒子的IP,那么除了tcpdump -e之外,上面的想法是不合理的。 如果数据包看起来是从本地盒子发出的,那么它有数据包传送到这些地址。 在这种情况下,您可以设置iptables规则,将数据包logging到10.51.0.0/16networking的无效地址。 通过无效的地址我的意思是没有分配给任何主机的地址。 如果有东西想要访问它们,那么可能没有合法的理由这样做。 这样的日志logging规则(用相应的限制规则来防止日志填充)会告诉你这样一个数据包的来源 – 如果它来自本地盒子或任何远程networking。
如果数据包似乎源自CentOS盒本身,您也可以在怀疑扫描过程中查看ps输出,并将其与未进行扫描时保存的ps输出进行比较。 也许你会发现一些明显的答案。
我发现这篇文章对debugging类似的情况非常有帮助。 在那里提出的build议是要做到这一点:
tcpdump -l -n arp | egrep 'arp who-has' | head -100 | awk '{ print $NF }' |sort | uniq -c | sort -n
这会给你提供最多的“谁”请求的IP。这应该给你你需要知道的find有问题的系统。
不知道是否适用,但我有一个思科路由器相同的确切问题,问题是在默认路由我有指定的接口名称,而不是IP地址。 ARP表将填满,直到它瘫痪路由器。 只要我指定一个IP清除。 也许完全无关,但你永远不知道。
ip route 0.0.0.0 0.0.0.0 FastEthernet0/1 <-wrong
ip route 0.0.0.0 0.0.0.0 192.1668.99.254 <-right