Apologies for the terrible title, it's the best I could do.
This is my network:
Modem is just a plain dumb wired ADSL modem
Router 1 is a wireless router / access point (TP-Link WDR-4300 with latest official firmware, to be specific), with a number of clients, both wired and wireless, connected to it (even though the picture only shows two). It's configured with a static route to send all traffic headed for 192.168.2.0/24 to router 2.
Router 2 is a wireless router (WRT54GL with DD-WRT firmware) configured to act as a wireless client, connected to router 1
The problem: 192.168.2.10, connected to router 2, cannot access any of the clients connected to router 1 - pings do not receive responses, ssh / smbclient will time out. It has access to internet with no issues, and has no problem pinging / telnet'ing any of the routers along the way. Running wireshark / tcpdump on 192.168.0.101 and 192.168.0.102 shows that pings from 192.168.2.10 are definitely getting to them (with the correct source address), so it seems that the replies are just not being received at the source.
192.168.2.10 is definitely accessible from all clients connected to router 1 - they can ping it, connect to smb shares and copy files left and right, ssh into it, you name it.
It looks like the only packets getting lost are those that are replies to something originating 192.168.2.10, which makes little sense to me. What could be wrong here?