"Destination port unreachable" when pinging computer in another subnet

In my home network, I connect to the Internet through a router (192.168.1.1). I also have another router (192.168.1.15, 192.168.2.1), this one using OpenWRT, configured as a wireless client. One of my computers is connected to that router via an Ethernet cable, which is connected to my main router wirelessly.

Due to being connected through the OpenWRT router, my computer (192.168.2.4) is on a different subnet. I have a static route set up on my main router for this. The destination network is set as 192.168.2.0, the subnet mask is 255.255.255.0, and the gateway is set as 192.168.1.15. This computer can access both the Internet and other computers on the network without trouble.

Anyway, from a computer in subnet 192.168.1.x, I can ping 192.168.1.15 and 192.168.2.1 (both IP addresses of my OpenWRT router) just fine. However, when I try to ping 192.168.2.4, I get the following message:

PING 192.168.2.4 (192.168.2.4) 56(84) bytes of data.
From 192.168.1.15 icmp_seq=1 Destination Port Unreachable

Clearly it's using the static route I assigned. The problem seems to be that the OpenWRT router doesn't know how to route packets to 192.168.2.4, which is strange because that IP is directly connected to that router.

What am I doing wrong?


1 year late but your problem might be the OpenWRT firewall which seems to forbid ip forwarding on the LAN interface when the source&destination subnets aren't the same. retry pinging after this one : /etc/init.d/firewall stop

if it works, then u gonna have fun with the rules !


Similar error fixed by opening good old dos window (search for "cmd"), and typing these 3 separate lines:

ipconfig/release  
ipconfig/renew
exit