0

I am running a SIP application on a Redhat Linux server with 4 nics on separate LANs. SIP runs on UDP port 5060.

When I send a inbound packet to port 5060 NIC0, the packet gets delivered to the application.

When I send a packet to port 5060 to the other NICs, the packet does not each the application. It appears like the Linux network stack must be killing the message for some reason.

How can this be fixed?

  • Where are you monitoring what packet gets where? How? This sounds more like the application isn't listening to the other interfaces than the kernel is dropping the packets... – John Jan 09 '15 at 15:27
  • I'm capturing tcpdump on each interface so I see the packet coming in. For NIC0, I see the packet hit the application for the others I dont. If an applciation binds to port 5060, will Linux not send any inbound packet on any interface to that particular app? – Parmalat78 Jan 09 '15 at 15:29
  • Only if the application binds to 0.0.0.0. What local IP is the application binding to? – John Jan 09 '15 at 15:55
  • The out put of netstat -a | grep sip is as follows................ udp 0 0 *:sip *:* – Parmalat78 Jan 09 '15 at 16:05
  • I would look at the app config, not necessarily the output of `netstat`. If it's binding to 0.0.0.0, do you see packets come in at all with tcpdump on alternate interfaces? If so, it's the app's fault. If not, the packet isn't getting to the kernel. – John Jan 09 '15 at 16:07
  • Tcpdump shows the packet coming in on all interfaces. The packet only hits the app when it is on NIC0. The packet does not hit the app on NIC1/2/3. After doing more testing, the issue doesnt seem to be restricted to the SIP app.....any app I run on this box seems to have same behaviour. – Parmalat78 Jan 09 '15 at 16:15
  • If tcpdump sees the packet on all interfaces, the problem is with the app. Check it's config. Talk to it's vendor. – John Jan 09 '15 at 16:16
  • I dont think its an app problem as all applications are exhibiting this problem not just the SIP. – Parmalat78 Jan 09 '15 at 17:34
  • Is the NIC0 the one having the default GW? – Jakov Sosic Jan 10 '15 at 13:47
  • Ok, issue is resolved. While testing, I noticed that if the packet came from local LAN on any NIC, then it got delivered to the end application. If the packet came from non-local LAN, then it would not get delivered to the app on NIC1/2/3. In order to fix, I added a static route for the source ip to the desired NIC. I dont understand why an outbound static route needed to be added to fix an inbound routing problem but it is now working. Thanks to all. – Parmalat78 Jan 13 '15 at 16:27

0 Answers0