UDP Packet loss
Hi,
I am trying to send an UDP datagram to a remote server. But, I am not getting any response. When I used wireshark, I observed that the packets are leaving the machine. But not received at the other end. If I send the same data from some other machines, I get proper responses. So, I am concluding that, something is wrong at the sender side that makes the packets to be dropped/ignored or whatever happens. This is how I send my data: echo -en <MY DATA> | netcat -u <Remote Host> <Port> Among the senders, I could not find any pattern. ie. This issue is observed on both SLES/RHEL machines and they are on the same subnet. Also, firewall is disabled on all the machines involved in this communication. Any ideas on what might be causing the datagram to be dropped/ignored? |
do a traceroute of the package and see where it hangs.
|
Quote:
|
traceroute as far as I know sends a TCP packet on a fixed port. Not sure which one. At least this is true for the windows version. The linux version can be given options which port to use or which protocol. Check out the man page.
Just that as you can ping the host traceroute might be of less value. But try it non the less. Did you run wireshark on the remote host as well? If the package is not seen there then the network must block it on its way. If seen maybe /etc/hosts.deny has some entries? iptables is off as you stated. |
Quote:
I compared the packets (between the working ones and the non-working ones). Could not find any significant differences. |
Okay so we have a windows machine on the remote site and a linux machine on the local. What distribution is the linux one? Anything special? Anything special about the hardware of the local machine?
ping from local to remote works. Right? What about the other way around? From remote to local? Can you send udp packets to another linux machine that can talk to the remote machine? Please just for certainty give the output of Code:
iptables-save |
Quote:
Quote:
After these two observations, I decided that some network related setting in the OS is the culprit. Quote:
Quote:
Quote:
This is the set of commands I executed and the observations... Code:
# /etc/init.d/iptables stop |
Quote:
I would definitely check the VMWare host for anything unusual. Maybe somethings blocking there. Cause if you can ping the machine we know that layer 2 and layer 3 work. So the problem must be somewhere around layer 4 of OSI. Don't know if you can give any configuration of the vmware host but that might be useful. |
Quote:
Quote:
BTW. Thanks for your responses :) |
I tried logging the udp packets that are going out...
Could see these messages in /var/log/messages: Code:
Aug 2 21:54:01 myhost kernel: IPTables-SentIN= OUT=eth0 SRC=<src ip> DST=<dest ip> LEN=29 TOS=0x00 PREC=0x00 TTL=64 ID=35483 DF PROTO=UDP SPT=35662 DPT=1434 LEN=9 Code:
*filter |
Hm. Cannot find if you answered obvious question: does your UDP arrive to recipient machine?
|
Quote:
|
I quickly skimmed this thread, but I thought I saw that you are using VMs.. have you tried a physical machine and tested to see if that is being blocked? I have had VMs do very funny things at times with their virtual networks.
|
Quote:
|
If you have sane ip's for all the involved virtual machines and no iptables rules that block or deny traffic its all VMWares fault. I'd definitely check the network options of the guest machines. Like where they are attached and how and alike.
|
All times are GMT -5. The time now is 03:40 PM. |