Consider three computers A, B and C and three wireless networks - 1, 2 and
3.

A is configured to run a dhcp server over its eth0 interfaces. A dhclient
runs on its wlan interface in wireless network 1. I have no control over
the wireless router in this case (at work).

C is configured to run a dhcp server over its wlan interface, providing
wireless network 2. A dhclient runs on its eth0 interface (directly
connected to a wireless router), that IP address being a part of the IP
address range in wireless network 3 provided by that router. I control this
router (at home).

Openssh servers are installed on A and C. A runs Ubuntu 7.04. B and C run
Debian Testing.

When all the firewalls are down (on A and B, and B and C, and this is
important for later reference - so please do not make any suggestions
regarding firewalls), I get routing errors like :

When in wireless network 1, I try to ssh from B to A, I get :

ssh: connect to host xx.xx.xx.xx port 22: No route to host

Nothing like this happens when I connect B and A via a crossover cable (over
the wired network served by A's dhcp server).

Same thing happens when I try to ssh from B to C on wireless network 3.
Nothing like this happens when I am on wireless network 2.

How do I find out what is going on and why ssh servers on clients in a
wireless network simply do not see incoming packets ? All firewalls are
down, remember ? And ssh servers are working fine by themselves, as seen by
their behaviour when B is a client in their respective network.