A -> C goes over line B
C -> A goed over line A
That could mess things up. Also the tcpdump shows you the replies are not reaching A.
They do reach B, but B want to send them over another line to A ?
Though i think i understand your ASCII art now ;-)
- A and B are both connected to the same internal private network.
- A is connected to external net 1
- B is connected to external net 2
- C is connected somewhere completely different (on the other side of the world f.e.)
- iptables-save (server A and B)
- route -n (server A and B)