Eu tenho duas redes: A e B (172.16.2.0/24 e 172.17.2.0/24). A é Ethernet, B é WiFi. Um roteador OpenWRT conecta A e B, e a maior parte do tráfego é passada OK. A rota padrão no roteador leva a um modem a cabo na Ethernet e o tráfego para a Internet funciona bem.
Eu tenho duas máquinas Linux multi-homed com interfaces Ethernet e WiFi. ip_forward é definido como 1, mas as máquinas normalmente não executam o roteamento (elas não são listadas como gateway padrão de ninguém).
Uma máquina somente WiFi pode executar ping em qualquer endereço WiFi e pode fazer ping em qualquer endereço da máquina somente Ethernet, mas não pode efetuar o ping do endereço Ethernet de qualquer uma das máquinas multi-homed. (Eles podem fazer ping no endereço Ethernet do roteador.)
Pingar o endereço Ethernet de um host multi-homed enquanto assiste com o tcpdump mostra os pacotes de requisição ICMP que chegam do WiFi ao endereço Ethernet multi-homed, mas nenhuma resposta é enviada.
Hosts multi-homed podem pingar qualquer outro host, mas, por padrão, esses pings saem da interface conectada à rede do destino.
O ping do host multi-homed usando a opção "-I [ethernet-address]" resulta em pacotes de ping indo para o host WiFi, e respostas endereçadas corretamente voltam, mas o processo de ping nunca as recebe. diz "tempo limite de solicitação".
Os hosts multi-homed são Ubuntu e Debian; nenhuma regra iptables em uso e as políticas padrão são todas ACCEPT.
Alguma idéia do que poderia estar devorando pacotes de [WiFi-addr] para [Multi-home-Ethernet-Addr]?
[informações adicionadas por solicitação do comentarista:]
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