Como enviar tráfego para um endereço IP específico através de uma interface específica?

Como enviar tráfego para um endereço IP específico através de uma interface específica?

Em uma VM Debian Stretch (rodando no VirtualBox em um host Windows 7), gostaria de me conectar via SSH a um host remoto específico (vamos chamá-lo de myServer, com IP 12.34.56.78). Para isso, estou usando meu smartphone Android como modem USB, que funciona bem: posso acessar a internet e gerar algum tráfego 'ping' e HTTP/HTTPS, e até abrir uma conexão SSH com um comando como:

ssh [email protected] -b a.b.c.d -p portNumber -i ~/.ssh/id_rsa

NB: a.b.c.do endereço IP dinâmico é atribuído à minha interface USB no momento da conexão

Para facilitar as coisas, gostaria de ter todas essas configurações, ~/.ssh/configentão só preciso digitar ssh myServer:

Host myServer
    HostName 12.34.56.78
    Port portNumber
#   BindAddress a.b.c.d     <== commented because this is part of the question
#   BindInterface usb0      <== same as above
    User httqm
    IdentityFile ~/.ssh/id_rsa
  • Posso descomentar a BindAddresslinha e especificar o endereço IP, o que funciona, mas não oferece nenhum ganho em comparação com a linha de comando SSH completa, pois a.b.c.dé dinâmico
  • usando oInterface de ligaçãoopção (sem BindAddress) falha com mensagem de erro:

    ~/.ssh/config: line 154: Bad configuration option: bindinterface
    ~/.ssh/config: terminating, 1 bad configuration options
    

Esta mensagem de erro é esperada desde que a BindInterfacediretiva foi introduzida pelo Openssh 7.7 (https://www.openssh.com/releasenotes.html) enquanto eu tenho:

$ dpkg -l openssh-client
openssh-client      1:7.4p1-10+deb9u6

Para solucionar isso, estou considerando várias soluções:

  1. defina uma rota com ip route ...comandos para que tudo o que for direcionado myServerpasse pela interface USB. Até agora, tentei comandos como este:

    ip route add to 12.34.56.78 protocol static dev usb0
    

O comando em si não retorna nenhum erro, mas não consigo abrir uma conexão SSH com ssh myServer, nem consigo fazer ping.

  1. defina uma regra do Netfilter para que todo o tráfego de/para 12.34.56.78 passe pela interface usb0. Será que isso funcionaria? Devo investigar esta solução?

  2. atualizar openssh-clientde backports, se disponível

Você pode explicar o que funcionaria/não funcionaria (e por quê)? O que você sugeriria para atingir meu objetivo, que é conectar-se ao meu host SSH com uma linha de comando curta, como ssh myServerconsiderar que meu endereço de origem é dinâmico?

informação relacionada