现在服务器一般都是多网卡的,HP 的印象中至少得有双孔,DELL 的一般的也有个四孔吧。闲话少说,谈具体 的遭遇吧: 一台旧的服务器,由于网络换一个内网,需要加网卡,主板没有PCI 接口,只能上 USB 的网卡(个人感觉很别扭, 但能满足需求才是最主要的)。上完后,接网线,配ip 都顺其自然了,通了也没问题。若干天以后,机器需要重启, 重启完后也可以正常的ssh 到那台机器(注:ssh 是通过内网的机器),启动服务后,外部却无法访问(显然外网 是ping 不通的)。 通过其中的一台内网 ping 那台机器的ip (此ip 是我更改过的假ip,如有雷同,纯属巧合) [root@10 ~]# ping 213.126.216.246 PING 113.106.26.246 (213.126.216.246) 56(84) bytes of data. --- 213.126.216.246 ping statistics --- 4 packets transmitted, 0 received, 100% packet loss, time 3000ms 通过另外一个内网去ping 那台机器,是可以的。 [root@20 ~]# ping 213.126.216.246 PING 113.106.26.246 (213.126.216.246) 56(84) bytes of data. 64 bytes from 213.126.216.246: icmp_seq=44 ttl=46 time=168 ms 64 bytes from 213.126.216.246: icmp_seq=46 ttl=46 time=167 ms 首先想到问题的原因是可能arp 缓存的原因导致的。因为路由器上的arp 缓存出问题之类的(后面回过头来想,自己 的思路这个时候就是在蒙了,因为我的网卡没有换过)。 另外想到的是这三台服务器中能ping 通的和有故障的这一台是在同一个交换机下的,还是跟arp 扯上关系了。 既然跟arp 扯上关系了,我们就来看看arp的信息吧,在故障机器上看到的arp 的结果: [root@15 ~]# /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:19:D1:34:28:09 inet addr:213.126.216.246 Bcast:213.126.216.255 Mask:255.255.255.0 eth1 Link encap:Ethernet HWaddr 00:E0:4C:03:31:01 inet addr:172.16.216.246 Bcast:172.16.255.255 Mask:255.255.0.0 为了增加我的判断,我也看过内核中mac 地址的结果,同ifconfig 没有出入: [root@15 ~ ]# cat /sys/class/net/eth0/address 00:19:d1:34:28:09 [root@15 ~]# cat /sys/class/net/eth1/address 00:e0:4c:03:31:01 我们来看看ping 通和ping 不通两台机器上 arp 两个ip 结果: 先看不通的: [root@10 ~]# /sbin/arp -a 213.126.216.246 (213.126.216.246)00:19:D1:34:28:09 [ether] on eth0 [root@10 ~]# /sbin/arp -a 172.16.216.246 (172.16.216.246)00:E0:4C:03:31:01 [ether] on eth0 通的那台机器上的结果: [root@20 ~]# /sbin/arp -a 213.126.216.246 (213.126.216.246)00:E0:4C:03:31:01 [ether] on eth0 [root@20 ~]# /sbin/arp -a 172.16.216.246 (172.16.216.246)00:19:D1:34:28:09 [ether] on eth1 这个故障的最终解决方法是eth0 和 eth1 的网线互换,不管是内网还是外网,都通了。因为usb 占用了eth0,原来的eth0 变成eth1 了。 故障的处理很简单,但令人难以捉摸不透的是上面的能通和不能通的内网,究竟是何原因。没有找到具体的说法, 只是听到一个跨越内核限制,所以那个能ssh 上的那台机器通了。 小结:环境越复杂,考虑的越多,问题往往很简单。 |
2013年8月17日星期六
USB 网卡引起的网络问题一例
订阅:
博文评论 (Atom)
订阅:
博文评论 (Atom)
没有评论:
发表评论