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 
  • Please show the output of ip a; ip ro sh; ip ru sh on the multi-homed host. – wurtel Oct 30 '14 at 9:46

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.