Ambos os seus problemas não me parecem que o tunelamento ssh seria a melhor solução.
mas ainda aqui estão algumas das ideias que desenvolvi para alcançar estes objetivos:
Problema 1: usando LocalTest como um proxy reverso para WebserviceServer
localtest:~ $ ssh -L *:10000:webserviceserver:443 localhost
certifique-se de permitir "GatewayPorts" e "AllowTcpForwarding" em / etc / ssh / sshd_config em LocalTest e o sshd é reiniciado.
Explicação
isso abre uma conexão do localtest para ele mesmo e ao mesmo tempo cria um túnel escutando na porta 10000 em todas as interfaces do localtest redirecionando o tráfego para a porta 443 do webserviceserver
Problema 2: redirecionando o tráfego para testar estações de trabalho
com ssh, isso é na verdade o mesmo que o Problema 1
localtest:~ $ ssh -L *:8099:somestation1:5000 localhost
se você quiser se conectar a outra estação de trabalho de teste, simplesmente encerre a primeira conexão e use algo como
localtest:~ $ ssh -L *:8099:somestation2:5002 localhost
Explicação
como é basicamente a mesma solução do problema 1, ele também tem a mesma explicação (apenas diferentes hosts e portas :-))
algumas reflexões
Tenha em mente que ambas as soluções anteriores abrem os sistemas de destino (webserviceserver, somestationX) para qualquer pessoa com acesso ao LocalTest
E como mencionei no começo, não acho que o ssh seja a ferramenta certa para fazer isso por alguns motivos. Alguns deles sendo:
- com ssh você só pode tunelar o tráfego tcp facilmente
- ssh raramente é a melhor solução para túneis permanentes
- O problema 1 soa mais como um caso para um proxy reverso para mim (ou iptables como mencionado por outros)
- O problema 2 definitivamente soa como um caso para o iptables para mim
Eu pessoalmente configurei um script simples para o segundo problema que permite que você redefina as regras do iptables para cada sistema de teste que você quer usar, algo como
localtest:~ # reset_target somestation
esse script teria que excluir um redirecionamento antigo (para outra estação de trabalho de teste) no iptables e depois configurar o novo. Eu não sou muito fluente com a sintaxe do iptables no momento e então eu não posso fornecer tal script imediatamente, mas tenho certeza que alguém aqui poderia te ajudar com algo assim, se necessário.