|
发表于 2003-12-11 09:43:25
|
显示全部楼层
我也是这个问题,昨天我查了很多资料,根据自己得总结,不知道对不对,拿出来跟大家讨论一下:
当我的机器不停出现
Net 310 messages suppersessed
Neighbour table overflow.
的时候,我用 ip neigh 命令看的时候会发现很多很多无用的 ARP 列表,我想可能就是因为这些ARP列表使得 gc_thresh 值溢出,产生这个现象我猜想可能有两个原因
1:就是你的机器受到攻击,或者你的局域网的机器有病毒引起,我怀疑我的机器就是受到攻击,因为我发现那些 ARP 请求的 IP 地址是连续发的,也就是说有机器在对整个局域网扫描,并且是伪装的地址,所以造成溢出。
2:要不就是你的局域网的机器实在是太多。
我想可能第一种情况可能性比较打,好了。问题找到了怎么解决呢? 一种是积极的解决方法就是把那台狂发包的机器找出来,还有一种就是不让Linux 产生 ARP 表溢出,我试了几个参数
1:将/proc/sys/net/ipv4/neigh/default/gc_thresh3
设成 10240 (它原来的值是 1024),还是会出现这个问题,
后来我计算了一下,我的局域网是 B类掩码(例如: 192.168.x.x/16),那主机数就是 255*255=65025
所以我就将三个文件参数都设成 65025 ,然后在 /etc/rc.d/rc.local 加上
echo "65025" > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo "65025" > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo "65025" > /proc/sys/net/ipv4/neigh/default/gc_thresh3
后来就没有出现这个问题了。我不知道我这样分析有没有道理,请楼上的朋友去试试把!
试好了要告诉我啊!!!! 呵呵 |
|