I have two networks: A and B (172.16.2.0/24 and 172.17.2.0/24). A is Ethernet, B is WiFi. An OpenWRT router connects A and B, and most traffic gets passed OK. Default route on router leads to a cable modem on the Ethernet, and traffic to the Internet works fine.
I have two multi-homed Linux machines with both Ethernet and WiFi interfaces. ip_forward is set to 1, but the machines do not normally perform routing (they are not listed as anybody's default gateway).
A WiFi-only machine can ping any WiFi address, and can ping any Ethernet-only machine's address, but cannot ping the Ethernet address of either of the multi-homed machines. (They can ping the router's Ethernet address.)
Pinging a multi-homed host's Ethernet address while watching with tcpdump shows ICMP request packets arriving from WiFi to the multi-homed Ethernet address, but no replies being sent.
Multi-homed hosts can ping any other host, but by default those pings go out on the interface attached to the destination's network.
Ping from the multi-homed host using the "-I [ethernet-address]" option results in ping packets going to the WiFi host, and properly-addressed replies coming back, but the ping process never receives them -- it says "request timeout."
The multi-homed hosts are Ubuntu and Debian; no iptables rules in use and the default policies are all ACCEPT.
Any idea what could be gobbling up packets from [WiFi-addr] to [Multi-home-Ethernet-Addr]?
[Added info per commenter's request:]
root@vegas:~# ip a 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether d0:27:88:d5:72:7b brd ff:ff:ff:ff:ff:ff inet 172.16.2.250/24 brd 172.16.2.255 scope global eth0 inet6 fe80::d227:88ff:fed5:727b/64 scope link valid_lft forever preferred_lft forever 3: wlan0: mtu 1500 qdisc mq state UP qlen 1000 link/ether 9c:4e:36:01:64:2c brd ff:ff:ff:ff:ff:ff inet 172.17.2.250/24 brd 172.17.2.255 scope global wlan0 inet6 fe80::9e4e:36ff:fe01:642c/64 scope link valid_lft forever preferred_lft forever 4: tun0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 172.19.0.1 peer 172.19.0.2/32 scope global tun0 root@vegas:~# ip ro sh default via 172.16.2.254 dev eth0 172.16.2.0/24 dev eth0 proto kernel scope link src 172.16.2.250 172.17.2.0/24 dev wlan0 proto kernel scope link src 172.17.2.250 172.19.0.0/24 via 172.19.0.2 dev tun0 172.19.0.2 dev tun0 proto kernel scope link src 172.19.0.1 root@vegas:~# ip ru sh 0: from all lookup local 32766: from all lookup main 32767: from all lookup default