- check your routing with netstat -rn
And verify that packets can go anywhere.
Main Topics
Browse All TopicsI have an iptables firewall. I have several networks connected together. I'm trying to debug a packet which is getting lost.
I have logging rules at the beginning and end of ALL chains. I can trace other packets through these chains just fine, thus verifying the logging.
The packet hits the last rule of the PREROUTING chain of the NAT table, which is the logging rule and is logged. The default policy is ACCEPT, and as stated above, in all the other chains the logging rule is first. However, the packet is lost - it never hits any other chain.
I would expect the packet to traverse the FORWARD chain of the MANGLE table next, but that does not happen. Nor does it hit the INPUT chain of the MANGLE table.
What could be happening to my packet, and how can I prove it?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Nopius - thanks for the link to that chart. That's an excellent tool for the discussion of iptables.
It definitely would appear that my packet is being dropped at the routing decision. The question is why. I have two other networks which communicate through the firewall to the network I'm trying to get to successfully.
So, to clarify, I have a vpn which connects to the firewall. VPN -> FW -> NewNet works just fine. I can see the packets come in, traverse the chains, and go on the the new network.
I have other networks which talk through the firewall to the new network also: HOSTA ->FW -> NewNet
The problem is machines behind the VPN server can't connect to the new network: HOSTB -> FW -> Drop :(
The route from the firewall to the new network is proven by the other machines being able to connect through it. I was assuming iptables rules in the firewall were causing the packet to be dropped, but via logging rules at the beginning and end of each chain i can see that the packet is being dropped between chains by the routing decision.
But isn't the routing decision based on the Destination, and not the source? If the route exists to the destination, why would it be dropped?
Thanks guys.
Business Accounts
Answer for Membership
by: NopiusPosted on 2009-10-01 at 03:20:40ID: 25467229
According to iptables packet traversal chart, the packet may be dropped just after 'PREROUTING' chain if the routing process decides that there is no route.
u/misc/net filterflow .pdf
http://www.shorewall.com.a