Não sei ao certo como a determinação do endereço de origem é feita no caso de uma ligação de interface tão forçada. Se o endereço de origem não for retirado do dispositivo, o problema é que seus ip rule
seletores não correspondem, de forma que o pacote seja executado na tabela de roteamento main
, ou seja,
default via 192.168.1.1 dev eth0 proto static
que não funciona em wlan0
.
Sugiro que tente isso:
ip rule add from 192.168.1.7 table eth0
ip rule add oif eth0 table eth0
ip rule add from 192.168.2.21 table wlan0
ip rule add oif wlan0 table wlan0
e amplie o
ip route add table eth0
ip route add table wlan0
comandos pela opção src
.