mosh túnel via proxy

15

Eu sou um fã crescente de mosh e estou usando cada vez mais quando tenho links wifi não confiáveis. O que eu estou tentando descobrir é como construir um túnel através de um servidor que está em um DMZ (conectado à internet e à rede com firewall).

Minha solução atual com ssh é editar .ssh / config para incluir linhas como:

Host server-behind-firewall
  ProxyCommand ssh server-in-dmz nc %h %p

Eu também descobri como posso usar o ssh para fazer uma perna e mosh a outra:

ssh -t server-in-dmz mosh server-behind-firewall

Entre server-in-dmz e server-behind-firewall Eu tenho uma sessão mosh usando uma tela.

Mas o que eu realmente gostaria apenas de usar mosh de ponta a ponta. Eu acho que teria que arrumar  server-in-dmz para ter um mosh-server listening. Mas a página man do mosh-server diz "Ele irá sair se nenhum cliente entrar em contato dentro de 60 segundos".

Em resumo, a questão é: como construir um mosh tunnel com múltiplos hosts?

    
por speciousfool 21.05.2012 / 05:29

2 respostas

5

Você pode tentar stone , que é um repetidor de pacotes TCP e UDP. O que isso significa essencialmente é que você pode ter a seguinte configuração:

Você < --- > Pedra no servidor-in-dmz < --- > server-behind-firewall

Em outras palavras, faça com que server-in-dmz atenda na porta X para que os pacotes SSH sejam encaminhados para o servidor-por-firewall e também outra porta, a porta Y, para os pacotes UDP que encaminham para a porta 60000 no servidor-behind -firewall para mosh-server.

Você terá que se conectar ao mosh usando o seguinte comando:

mosh -p 60000 --ssh='ssh -p PORT_X' server-in-dmz
    
por 19.06.2012 / 14:02
0

Em vez de avançar no tráfego na camada de aplicação, como sugerido por @Hengjie, você também pode usar o iptables (no servidor em dmz):

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 11559 -j DNAT --to-destination 178.254.55.220:22
iptables -t nat -A PREROUTING -p udp -m udp --dport 60159:60168 -j DNAT --to-destination 178.254.55.220
iptables -t nat -A POSTROUTING -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

Em seguida, você se conecta usando mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz

Nota:

  • Parece não haver uma maneira de colocar o mosh-port na configuração arquivos. : (
  • Eu escolhi as portas aleatoriamente.
  • Você pode querer alguma configuração adicional do iptables se fizer isso…
  • Editar: É melhor DNAT um intervalo inteiro de portas, uma vez que há uma boa chance de você acidentalmente matar o cliente mosh sem levar o servidor com ele. Se você não encaminhar um intervalo, você terá que ssh para o seu servidor e matar o mosh em execução. Pode ser um pouco chato se você tiver uma conexão ruim em primeiro lugar.
  • Meu caso de uso para isso é através do iodo.
por 26.12.2016 / 08:28

Tags