[转] Linux Neighbour table overflow 问题的解决2009-04-06 09:45“Neighbour table overflow ”问题的解决 独立作者: 周伟

[转] Linux Neighbour table overflow 问题的解决2009-04-06 09:45“Neighbour table overflow ”问题的解决 独立作者: 周伟 网络上没有找到完整的资料,我写下这些与大家共同交流。 前几天,我们公司的一台LINUX共享上网服务器老是提示: Jul 20 10:34:22 netgate kernel: Neighbour table overflow. Jul 20 10:34:27 netgate kernel: NET: 438 messages suppressed. Jul 20 10:34:27 netgate kernel: Neighbour table overflow. Jul 20 10:34:32 netgate kernel: NET: 442 messages suppressed. 公司网络速度很慢,MSN常断线。 上网GOOGLE搜索了一下,说是“垃圾回收机制出现问题了,造成系统的arp表出现严重的抖动现象,” 按他们的文档修改几个参数。 默认大小 echo 120 >; /proc/sys/net/ipv4/neigh/default/gc_stale_time 60 echo 512 >; /proc/sys/net/ipv4/neigh/default/gc_thresh1 256 echo 2048 >; /proc/sys/net/ipv4/neigh/default/gc_thresh2 512 echo 4096 >; /proc/sys/net/ipv4/neigh/default/gc_thresh3 1024 只好了几分钟,不解决问题。 我想修改参数是治标没治本,没有找到arp表出现严重抖动的原因。 我解决问题的过程如下: OS环境:REDHAT AS3 U4 接口: eth0 接外网 eth1 接内网 先屏蔽外网:# ifconfig eth0 down 问题依旧,判断问题在内网。 恢复外网:#ifconfig eth0 up # arp 显示arp表很乱,就是他们说的arp表出现严重的抖动现象。 对内网接口eth1进行跟踪: # tcpdump -i eth1 arp 发现十几台机器不停地向linux询问不存在的ip地址的MAC,是它们造成arp表出现严重的抖动现象。 12:55:41.900194 arp who-has 172.19.0.157 tell 172.19.201.70 12:55:42.086023 arp who-has 172.19.215.219 tell 172.19.201.70 12:55:42.556482 arp who-has 172.19.124.232 tell 172.19.201.70 12:55:42.990155 arp who-has 172.19.85.122 tell 172.19.201.70 12:55:43.322160 arp who-has 172.19.88.217 tell 172.19.201.70 12:55:43.580866 arp who-has 172.19.51.85 tell 172.19.201.70 在天网防火墙中同时发现这十几台电脑不停在向外发包,主要是445端口,这些电脑有病毒。 我和网管停了这十几台电脑,“Neighbour table overflow”的信息终于消失。 arp表也稳定下来了,网络速度也快了。 最后,向全公司的员工发了一个通知: 谁的机器不安装杀毒软件,感染病毒,防火墙禁止他上外网。 转自:http://www.lslnet.com/linux/dosc1/38/linux-276688.htm 附:How to resolve "Neighbour table overflow" problem? Gnu/Linux servers (when used extensively as a server) throw the following messages in log file kernel: Neighbour table overflow. kernel: printk: 100 messages suppressed. kernel: Neighbour table overflow. kernel: printk: 151 messages suppressed. kernel: Neighbour table overflow. The solution to the problem is to increase the threshold level for the network devices To check the present threshold level 1 cat /proc/sys/net/ipv4/neigh/default/gc_thresh1 It will give some value as 128 or 256 or 512. This can be increased to the next level.Like if the value is 128 then make the thresh1 value as 256 and thresh2 as 512 and thresh3 as 1024. echo 256 > /proc/sys/net/ipv4/neigh/default/gc_thresh1 echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh2 echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh3 This will stop the Error messages that were recieved in the log file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值