Mesmo endereço IP de destino ao usar tsocks

3

Eu preciso usar tsocks (para encapsular uma conexão ssh através de um túnel ssh para acessar determinadas máquinas), mas há um problema. Existem dois servidores que possuem o mesmo endereço IP (que eu preciso acessar por meio de túneis ssh). Então, a configuração dessa situação seria assim:

cat /etc/tsocks.conf
path {
    reaches = 10.1.1.2/255.255.255.255
    server = 127.0.0.1
    server_port = 3000
}

path {
    reaches = 10.1.1.2/255.255.255.255
    server = 127.0.0.1
    server_port = 2000
}

Como posso resolver este problema?

    
por gasko peter 05.11.2012 / 09:23

2 respostas

3

Você precisará de dois tsocks.conf , um para cada servidor SOCKS e, em seguida, usá-los como:

TSOCKS_CONF_FILE=~/.tsocks-A.conf tsocks some-cmd 10.1.1.2

e

TSOCKS_CONF_FILE=~/.tsocks-B.conf tsocks some-cmd 10.1.1.2

Como alternativa, se os servidores SOCKS suportarem SOCKS4A ou SOCKS5, você poderá usar dante socksify em vez de tsocks e usar nomes de host se tiverem nomes de host diferentes nas extremidades remotas (e especificar qual servidor SOCKS para usar com base em nomes de host ou nomes de domínio em dante.conf ).

    
por 05.11.2012 / 12:03
2

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.

    
por 05.11.2012 / 11:53

Tags