Quero implantar um Raspberry Pi na minha casa de campo de fim de semana. O Raspberry Pi está lá para registrar as temperaturas e enviá-las para um servidor remoto com um ip fixo, salva os dados e os exibe em um site simples.
No entanto, pode surgir a situação em que quero mudar alguma coisa no Raspberry Pi. Por exemplo, atualizações do sistema ou uma alteração no programa que envia os dados para o servidor ou o que for.
Com a configuração proposta, eu não seria capaz de me conectar ao Raspberry Pi de fora da LAN.
NOTA: Não quero alterar a rede e o roteador existente não tem capacidade de encaminhamento de porta, dynDNS ou VPN.
Eu li recentemente sobre perfuração UDP. A idéia básica é que o cliente envie um pacote UDP para um endereço de servidor conhecido (ou seja, com um IP público ou dynDNS ativado). O cliente B que deseja se conectar ao cliente A solicita ao servidor o IP público e o número da porta do cliente A.
Em seguida, ele pode se conectar ao cliente A diretamente no seu IP público e na porta que é dinâmica. Como o cliente A primeiro se conectou ao servidor na porta agora usada, o NAT encaminhará os pacotes para o cliente A.
Espero ter resumido a idéia corretamente, mais ou menos ...
Isso tudo soa bem, mas o problema é que isso não é garantido para funcionar com uma conexão TCP, pois o roteador é capaz de "entender" o handshake da conexão TCP e, se não for construído corretamente, não encaminhará. os pacotes.
Então, como posso abrir uma sessão SSH do cliente B para o cliente A, sem o cliente A sentado atrás de um roteador com dynDNS, um IP público fixo ou a capacidade de encaminhamento de porta? O uso de um servidor central com um IP público, fixo ou nome de domínio seria muito difícil.
fonte
-w
sim, mas disse o udp sobre o tcp (talvez por isso ele inclui qualquer tentativa de encaminhar o udp com o ssh), envolve problemas como alta latência e retransmite as coisas que você não deseja mais. Eu acho que ainda é uma coisa interessante para tentar. Eu vejo esse vpn via ssh e -w mencionado aqui também wiki.archlinux.org/index.php/VPN_over_SSHRespostas:
pwnat
Fonte: http://samy.pl/pwnat.pdf
https://github.com/samyk/pwnat
fonte
Aqui estão algumas soluções:
Você pode configurar o Raspberry Pi para se conectar novamente a um servidor OpenVPN e terá acesso a ele o tempo todo.
Você pode dar uma olhada no PageKite. Verifique https://pagekite.net/wiki/Howto/SshOverPageKite/
fonte
É uma solução um pouco suja, mas fácil, mas e quanto ao uso do netcat? No Raspberry Pi, você pode criar um script que faça um loop do comando:
No host local, faça:
E:
Você poderá digitar um comando na primeira instância e ver a resposta na segunda.
fonte