Como acessar uma máquina por trás de um gateway NAT restrito eu não consigo?

6

Eu tenho uma máquina Linux que gostaria de poder acessar remotamente para SSH, FTP, HTTP e assim por diante. Eu me inscrevi para o DNS Dinâmico com No-IP.com, mas isso não é adequado porque estou em uma rede de campus universitário, atrás de um NAT, e não tenho permissão para acessar o roteador para configurar o encaminhamento de porta. Não sei se os roteadores do campus suportam UPnP ou NAT-PMP, mas duvido.

De qualquer forma, eu queria saber se havia uma maneira de contornar isso usando uma VPN. Eu sei que uma VPN me permitiria, por exemplo, acessar minha caixa linux do meu laptop se eu tivesse o software VPN instalado em ambas as máquinas. Mas eu gostaria de poder acessar minha caixa de linux de qualquer computador, sem ter que instalar o software. Ou, pelo menos, ser capaz de acessar a parte HTTP dessa maneira. E embora eu saiba que muitos serviços VPN oferecem interfaces web para transferência de arquivos, etc., eu prefiro poder acessar minha caixa linux usando software cliente FTP e SSH regular.

De qualquer forma, isso é algo que você pode fazer com uma VPN? Ou existe uma maneira de encadear uma VPN com o DNS dinâmico de alguma forma? Eu olhei para o site do Hamachi VPN, mas ele descreveu todos os recursos em termos não técnicos, então não consegui descobrir essas questões e preferiria saber antes de criar uma conta.

    
por user69668 05.12.2012 / 18:34

3 respostas

4

Pelo que parece, o firewall do seu campus não permite que nenhuma conexão seja iniciada de fora do campus para a sua máquina. Então, para se conectar à sua máquina, você terá que iniciar a conexão por dentro.

Então você terá que estabelecer alguma conexão entre sua máquina de dormitório D e alguma máquina externa E fora do campus. Então, quando você quiser se conectar à sua máquina do dormitório de algum cliente C, conecte-se a E e configure E para que ele retransmita a conexão.

Para a conexão D → E, você pode usar uma VPN. Isso requer acesso em nível de raiz em D e E. Uma VPN fornece conectividade IP entre D e E, portanto, a partir de C, você poderá acessar qualquer serviço de rede em D que E esteja disposto a rotear entre C e D.

Uma solução mais leve é estabelecer uma conexão SSH a partir de D e E, o que requer apenas uma conta shell em ambos os lados (e E deve permitir SSH, é claro). A partir de D, execute

ssh -R 2242:localhost:22 E sleep 999999999

Isso cria um encaminhamento de porta de E para D: qualquer conexão feita com E na porta 2242 é retransmitida para D na porta 22. A porta 22 é a porta ssh, portanto, quando você executa ssh -p 2242 E , isso conecta você a D onde você pode efetuar login. Para automatizar isso, você pode definir um alias em ~/.ssh/config como o seguinte (o PuTTY possui configurações semelhantes, consulte o manual):

Host dorm
UserName bob
HostName E
Port 2242

Você pode rotear várias portas dessa maneira. Por exemplo, para também retransmitir a porta 8042 em E para a porta 80 em D:

ssh -R 2242:localhost:22 -R 8042:localhost:80 E sleep 999999999

Você precisará executar novamente esse comando toda vez que sua conexão de rede iniciar em D.

    
por 06.12.2012 / 01:28
1

Se você tiver uma máquina que não esteja por trás do NAT (ou seja, acessível gratuitamente pela Internet), você poderá ssh de a máquina no campus e encaminhar portas remotas arbitrárias ao local apropriado (na máquina do campus) portas através daquela sessão ssh - a opção para OpenSSH é -R . Você se conectaria à porta encaminhada na máquina não-NAT e o ssh do computador do campus encapsularia os dados por meio do NAT do campus. Um pouco desajeitado, mas funciona.

    
por 06.12.2012 / 00:55
0

Uma VPN pode resolver isso, sim.

Especificamente, você precisará de uma VPN que permita o encaminhamento de porta. Eu só tenho experiência com Mullvad e eles fazem isso, mas tenho certeza que muitas outras VPNs também fornecem isso.

Com a maioria dos serviços, você provavelmente não pode esperar encaminhar portas arbitrárias (22 para ssh, por exemplo), então você teria que usar alguma porta de alto número "aleatória". Mas configurar o ssh / ftp para isso deve ser muito simples.

    
por 05.12.2012 / 20:20