Para repetir, seu aplicativo produz um pacote com algum endereço de origem, coloca-o na interface tun, seu computador hospedeiro o encaminha, mascara-o em eth0
e depois da eth0 ele é misteriosamente enviado via WLAN para o seu computador portátil. Isso funciona para 10.0.0.2 como fonte, mas não para 192.168.2.112.
No entanto, na realidade, você não tem uma interface eth0
, mas as interfaces são enp0s31f6
, wlp4s0
e wwp0s20f0u3c2
.
Isso está correto?
Se sim, o provável culpado é que você precisa se mascarar na interface WLAN, em vez de eth0
, e você precisa se mascarar de todos os endereços de origem, não apenas de 10.0.0.0/8. A verdadeira questão é como funcionou para 10.0.0.2 em primeiro lugar, mas isso provavelmente é explicado pela parte de sua configuração que você não nos contou.
Você provavelmente precisará se mascarar na WLAN porque, caso contrário, você teria que definir rotas na outra parte da sua rede.
Ferramentas para depurar: ip route get 1.2.3.4
para verificar rotas, tcpdump -ni wlp4s0
et.c em todas as interfaces que podem ser interessantes para ver onde os pacotes realmente vão.