|
|
|
|
|
|
|
[Original]
[Print]
[Top]
|
管网络的就是这个命,你得随时等待着,不知道什么时候网络会出现稀奇古怪的问题需要你去解决,考验你的神经。
昨天就觉得学校网络怪怪的,联网的PC没有网络应用而托盘中的网络标记总是亮着。上网有些卡,事情多也没有太多留意。
早上第一节课我在教室里听课,没过5分钟学校的网管从门缝中把我叫了出去,内网出不去了。赶到网管中心点亮屏幕一看,只见linux控制台显示出:Neighbour table overflow。不管三七二十一重起机器总是没有错,reboot,机器又重新跑了起来,但是进程还没有启动完,该死的出错信息又出现了。
是黑客?查了查log,也没有什么不正常的,手忙脚乱之际,想起了要看一看网络上到底在跑什么东西,用iptraf查看eth0、eth1,发现udp 0.0.0.0:67跑得非常勤快,192.168.0.200:67也是如此。
呵呵,原来如此,想起“冲击波”奔放之际我用linux内置的iptables防火墙写上几条rule手到擒来,于是如法炮制,写上了n条rule正自鸣得意之时这条出错又出现了。
是linux内核kernel出错了?还是网络问题?试着用ifdown把内网网卡卸了下来,呆了一会儿,这条出错信息没有出现在屏幕上,问题肯定是出在网络上了。静下来想一下,port67不是DHCP使用的端口吗?一想到DHCP就有了思路,因为DHCP使用广播的形式,client用udp协议带着自己的mac地址向网络发送目标地址为255.255.255.255的DHCP广播报,以此来获得IP地址,怪不得连在内网上而没有网络应用的PC托盘中网络标志会亮着,他在响应着这个广播报。而网络是没有DHCP SERVER,于是这个dhcp client拼了老命狂发dhcp广播报,同时,这个DHCP广播报所造成的网络环路无意中也把Linux中的arp地址表给破坏了。
那么,是谁在发这个报呢?192.168.0.200也没查到是谁在用,想起来是昨天早上8点以后才出现怪怪的网络问题,再仔细查看log,昨天和今天这个出错信息到了傍晚停止了而今天早上6点18分又出现了。那可以肯定是办公室的某台PC在这个时候跑起来了,会不会是住校的数学老师?因为只有他才有可能在早上这个时候用机器,于是立刻叫网管到数学组去查一查,不查不知道这一查就有了结果,由于这位老师要评职称必须通过计算机应用能力等级考试,为了通过考试这位老使用了杭师院计算机研究所编的一张计算机应用能力考核模拟训练光盘,确如log所记录,今天这位老师起了一大早,忙着模拟。问题就在这张光盘上,因为考试有网络方面内容一运行起来就造成了学校网络如此局面。
为此,我这一天什么也没有做全交给了网络,一惊一乍上下奔波魂不守舍心牵还未完成的学校工作,当然最后还是解决了问题。
今后,如果遇到网络上的问题:
1、别对linux疑神疑鬼,linux是牛的,这一点你不得不服,不像windows多愁善感时常感冒。这次网络问题是TCP/IP机制问题,与linux无关。
2、网络有了问题别一根筋似的重起机器,这是非常幼稚和不冷静的行为,下不为例。
3、要注意网络上跑的数据报,注意port。由此作为分析的入口。
4、多看看var/log/messages文件,从中可以发现蛛丝马迹。
5、要有发散思维,同时,每临大事有静气,不信今时无古贤。
6、也可以放大kernel中这几个项目的尺寸。
echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
7、没有什么大不了的,既瘫之则修之,用google看看,普天之下为此神伤者非我一人,呵呵。
————————————————————
欢迎访问浙江计算机专业网
http://zjit.3322.org
|
|
|
[Original]
[Print]
[Top]
|
|
|