Eu vejo que sua rota padrão está apontando para eth0, você precisará apontar sua rota padrão para ppp0. Remova a rota padrão e tente "ip route add default dev ppp0".
Eu tenho um pequeno computador embutido rodando o busybox. Ele tem uma interface eth0 com fio, que é conectada a uma interface com fio do módulo wlan a bordo por um cabo. Também há um módulo 3G no ppp0.
Eu preciso rotear o tráfego de 192.168.2.1 (localhost) para 192.168.2.10 (wlan-module) através de eth0 e tudo o mais deve passar por ppp0.
Configurações atuais:
# ip rule
0: from all lookup local
1000: from 84.231.196.14 lookup mobile
32766: from all lookup main
32767: from all lookup default
# ip route show table mobile
default via 192.168.254.254 dev ppp0
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.10 0.0.0.0 UG 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.254.254 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
Isso funciona parcialmente. Eu posso ligar para 192.168.2.10 de 192.168.2.1 e eu posso conectar a este computador de fora através de ppp0 mas eu não posso fazer nenhuma conexão deste computador para fora usando ppp0.
Eu tentei adicionar
# ip rule add from all lookup mobile
# ip route flush table cache
# ip rule
0: from all lookup local
999: from all lookup mobile
1000: from 84.231.196.16 lookup mobile
32766: from all lookup main
32767: from all lookup default
Isso, naturalmente, roteará todo o tráfego através do ppp0, mas eu perderei minha conexão para 192.168.2.10
Eu tentei várias regras e rotas diferentes para fazer isso funcionar, mas não estou tendo sorte com isso. Que tipo de regra / rota devo fazer?
Tags networking ip-address routing linux