当前位置: 代码迷 >> 驱动开发 >> 双网卡ping有关问题
  详细解决方案

双网卡ping有关问题

热度:69   发布时间:2016-04-28 10:46:45.0
双网卡ping问题
我在at91sam9260上用EBI方式扩展了一张DM9000网卡,也移植了驱动,现在板子上有双网卡,网卡信息如下:
# ifconfig
eth0 Link encap:Ethernet HWaddr 09:90:90:90:90:90  
  inet addr:192.168.1.97 Bcast:192.168.1.255 Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:51 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000 
  RX bytes:3575 (3.4 KiB) TX bytes:0 (0.0 B)
  Interrupt:108 Base address:0x2000 

eth1 Link encap:Ethernet HWaddr 11:33:55:77:90:00  
  inet addr:192.168.1.98 Bcast:192.168.1.255 Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:14 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000 
  RX bytes:840 (840.0 B) TX bytes:0 (0.0 B)
  Interrupt:21 Base address:0x4000 

lo Link encap:Local Loopback  
  inet addr:127.0.0.1 Mask:255.0.0.0
  UP LOOPBACK RUNNING MTU:16436 Metric:1
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0 
  RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)






我用ping命令ping 192.168.1.99 和ping -I eth0 192.168.1.99 及ping -I eth1 192.168.1.99都能ping的通,从PC机上ping这两个网卡地址也都能ping的通,192.168.1.99是我pc机地址。但我用ping 192.168.1.97能ping通,ping -I eth0 192.168.1.97和ping -I eth1 192.168.1.97都没法ping通,192.168.1.97是eth0地址。
用ping 192.168.1.98能ping通,ping -I eth0 192.168.1.98和ping -I eth1 192.168.1.99都没法ping通,192.168.1.98是eth1地址。
用ping 127.0.0.1能ping通,ping -I eth0 127.0.0.1和ping -I eth1 127.0.0.1都没法ping通。

请问各位高人 是不是ping -I 命令只能ping 外部地址啊?还是其他原因呢?多谢!


------解决方案--------------------
要明白 ping的过程,也就是发报的过程。没有指定interface,是要通过路由表来进行的,路由正确,系统就会选择相应的接口进行数据发送处理,本机的话直接就处理了。 -I的作用是指定接口进行发送,如果两个接口之间存在问题(连接路由?),可能就不通了。 可以抓一下包,看一下,包是否出去了,是否受到了。。。