Em primeiro lugar, você pode fazer tudo, tudo através dos arquivos de configuração do SSH. Isso é especialmente verdadeiro se você for apenas o SSH para as máquinas finais. Veja a configuração do SSH multihop . Com configurações de SSH estabelecidas apropriadamente, você poderia apenas atribuir nomes de destino e digitar ssh servera
ou ssh serverb
, em vez de precisar configurar um túnel SSH e digitar tsocks ssh servera
.
Tsocks realmente não podem diferenciar o que você quer. Uma abordagem seria configurar dois arquivos de configuração e emitir comandos para trocar configurações para cada rede
por exemplo:
$ chmod +x /usr/local/bin/tsocksa.sh
$ cat /usr/local/bin/tsocksa.sh
#!/bin/bash
#
#Swaps for Network A
#See /etc/tsocs.conf.main and /etc/tsocks.conf.dest_a
#
sudo cat /etc/tsocks.conf{.main,.dest_a} > /etc/tsocks.conf
e
$ chmod +x /usr/local/bin/tsockss.sh
$ cat /usr/local/bin/tsockss.sh
#!/bin/bash
#
#Swaps for Network S
#See /etc/tsocks.conf.main and /etc/tsocks.conf.dest_s
#
sudo cat /etc/tsocks.conf{.main,.dest_s} > /etc/tsocks.conf
Agora, você colocaria seus comandos específicos de troca de rede em /etc/tsocks.conf.dest_n
e colocaria suas redes genéricas em /etc/tsocks.conf.master
Você também pode usar aliases de Bash para os mesmos comandos ou simplificar ainda mais o script de Bash em uma função que pode ser usada no bashrc.