Ele se tornou muito simples, quando o tethering se comporta como um roteador (wifi no eth0 e o computador conectado no usb0). Eu acho que, de alguma forma, conectar um switch ao telefone permitiria que vários computadores fossem conectados por cabo a um único computador (uma configuração ridícula, mas ainda assim divertida: D). Eu tive que usar o iptables para direcionar o tráfego da porta 22 do dispositivo para a porta 22 do dispositivo conectado e aceitar o tráfego na porta 22.
Eu usei o ssh (aplicativo DigiSSHD) para ssh no meu telefone, loguei como root e adicionei as duas regras a seguir para o iptables. (onde o dispositivo conectado é 192.168.42.185)
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.42.185:22
# iptables -A FORWARD -p tcp -d 192.168.42.185 --dport 22 -j ACCEPT
Usando a mesma técnica pode-se executar um servidor web em um computador conectado sem fio à rede usando um telefone Android. Apenas alterando a porta para a porta 80:
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.42.185:80
# iptables -A FORWARD -p tcp -d 192.168.42.185 --dport 80 -j ACCEPT
Por favor, note que o iptables é parcialmente suportado no android, tanto quanto eu sei é apenas o binário iptables disponível e não iptables-save & iptables-restore, você precisaria compilá-los para o seu dispositivo. Eu ainda tenho problemas para salvar minha configuração, e as configurações tendem a ser redefinidas com muita frequência, então eu ainda tenho que investigar isso às vezes.
Este artigo foi muito útil: link