Como restringir um túnel SSH a um determinado endereço IP de saída em um servidor SSH?

2

Espero que eu esteja formulando esta pergunta corretamente. Eu tenho um servidor SSH que eu uso para teste que tem 2 conexões de internet em execução. A conexão LAN está sempre ligada, mas a conexão USB está ligada intermitentemente. É possível restringir o túnel para que ele use apenas o endereço IP da conexão USB para navegar na Internet?

Isso é o que estou usando atualmente:

ssh -v -D 3456 [email protected];

Isso é ótimo, mas não me diz se a conexão USB secundária do servidor muda. Como eu sei o IP (por razões de saque 199.90.09.78) da conexão USB, eu estava esperando que eu pudesse restringir o túnel para usar somente o USB e quebrar se o USB caísse. Eu tenho brincado com o seguinte:

ssh -v -D *:3456 -R *:3456:199.90.09.78:80 [email protected];

Mas eu acho que estou usando -R errado. Existe uma maneira melhor de conseguir isso?

    
por jnthnclrk 09.07.2013 / 22:22

1 resposta

1

Eu não estou ciente de uma opção ssh que pode conseguir isso, parece um problema de roteamento. Você gostaria de rotear todo o tráfego do daemon SSH pela conexão USB como uma política. O roteamento de política permite rotear pacotes por caminhos diferentes, no seu caso, pela conexão USB. Você precisará de ip para definir a política e iptables para marcar pacotes para essa política.

Um exemplo (não testado) que roteia todo o tráfego pela interface com o gateway 10.1.2.3 :

iptables -t mangle -A OUTPUT -m owner --uid-owner yourusername -j MARK --set-mark 2
ip rule add fwmark 2 table 3
ip route add default via 10.1.2.3 table 3
ip route flush cache

Todos os pacotes do usuário yourusername serão marcados com ID 2 . Em seguida, uma regra informa que essa marca 2 deve seguir a tabela de roteamento 3 , que leva os pacotes ao gateway 10.1.2.3 . Finalmente, o cache de rota é limpo de forma que a nova rota seja escolhida (se a rota foi calculada antes).

Isso pressupõe que o usuário do SSH yourusername seja usado apenas para o túnel SOCKS e que você se conecte a ele por meio da conexão USB.

    
por 09.07.2013 / 22:46