Especificando a interface de saída para o túnel SSH

1

Eu tenho uma máquina com dois endereços IP públicos em duas interfaces. Esta máquina está executando sshd . Existe uma maneira de especificar, ao criar um túnel com uma interface SOCKS (ou seja, -D ), qual interface usar para conexões de saída?

    
por Cactus 07.04.2012 / 16:25

2 respostas

1

Estritamente falando, você pode resolver seu problema combinando a opção -b em ssh, como sugerido por mgjk, e roteamento. Suponha que você esteja tentando construir um túnel para o site 8.8.8.7 (apenas um exemplo fictício), e você quer que a conexão passe por eth1, então o comando

 sudo route add -host 8.8.8.7 dev eth1

adicionará uma rota adequada e tudo deverá estar bem.

No entanto, esse também é o caso perfeito de aplicativo para "roteamento de políticas". Isso implica configurar a tabela de roteamento na máquina que está configurando o túnel ( ie aquela em que o comando ssh -D ... é emitido) simplesmente porque é o único em que as duas interfaces existem.

Uma explicação ainda suficiente concisa é dada por David Schwartz neste mesmo site . Apenas detalhes importantes são: digamos que eth0 é 192.168.1.2 e eth1 é 10.0.0.2, então você pode dizer

 ip rule add from 10.0.0.2 table <NAME1>
 ip rule add from 192.168.1.2 table <NAME2>

Neste ponto, você pode vincular sua conexão ssh via -b ao endereço da eth1, e está pronto.

    
por 29.10.2013 / 13:37
0

O que acontece quando você usa -b?

 -b bind_address
         Use bind_address on the local machine as the source address of
         the connection.  Only useful on systems with more than one
         address.
    
por 07.04.2012 / 16:44