LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   ping issue with windows 2008 server (https://www.linuxquestions.org/questions/linux-networking-3/ping-issue-with-windows-2008-server-4175496037/)

5883 02-24-2014 10:44 AM

ping issue with windows 2008 server
 
This is for embedded system, 2 eth ports, freescale ARM processor, kernel 3.0.35-cm-fx6-4,
fs is using ubuntu 12.04。NetworkManager version is 0.9.4.

So we have 2 systems for testing,
1. linux embedded system has 2 Gigabit ethernet ports
2. windows PC, we open 2 Dos windows keep on pinging eht0 and eth1.
ping -t 10.50.1.1
ping -t 10.50.1.2
At the same time, we unplug eth ports in the linux side randomly and plug back.

Now if this windows pc is windows 7, ping always works.

Now if it's windows 8 server, or windows xp, ping will fail.
1. you unplug eth0 in linux, "ping -t 10.50.1.1" will stop
2. plug back eth0, "ping -t 10.50.1.1" will work, but
but "ping -t 10.50.1.2" stops, even though ethernet cable is still there.

Any suggestions pls ?

Thanks !

szboardstretcher 02-24-2014 10:49 AM

In the windows world you'll probably find that there are driver differences and TCP implementation differences. Those two things would change the error handling and failover of the ports.

My suggestion is to use LACP and bond the ports.

jefro 02-24-2014 05:23 PM

I'd assume it is how the various ping and OS's and drivers interact with tcp/ip.

I don't know what the test is supposed to prove even.

5883 02-26-2014 01:26 PM

ok, this is what i found so far, can some one give some suggestions next ?

1. if i open 2 dos windows in win7, ping 2 eth in the linux, both works

ping 10.50.177.137 (eth0)
ping 10.50.177.139 (eth1)


5883@g64nnq1:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.50.183.254 0.0.0.0 UG 0 0 0 eth0
10.50.176.0 0.0.0.0 255.255.248.0 U 1 0 0 eth0
10.50.176.0 0.0.0.0 255.255.248.0 U 1 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1

from wireshark running in linux,
you can see icmp requests and replies in eth0.
But NONE for eth1.
All ping packets goes to eth0.

so i assume linux internally knows eth1 and eth0 are together, as long as you ping eth1, it just pings eth0 instead.


2. However, if you do the same thing in windows 2008,
the ping packets will go to eth1 if you are pinging eth1.
Now the routing table is not right.

If i replace the default routing entry with eth1, now ping works for eth1.


ok, how do i fix this in linux without changing routing table then ?
how the ping to eth1 actually goes to eth0 for win7 case ?



Quote:

Originally Posted by jefro (Post 5123945)
I'd assume it is how the various ping and OS's and drivers interact with tcp/ip.

I don't know what the test is supposed to prove even.


jefro 02-27-2014 02:23 PM

"internally knows eth1 and eth0 are together"

It does know they are in the same subnet true. Change the subnets out so that they are on different subnets and then try it even if the windows systems have a subnet mask that includes the two.


All times are GMT -5. The time now is 10:45 PM.