Remoto na estação de trabalho Linux atrás de um firewall

8

Digamos que eu tenha uma estação de trabalho Linux em funcionamento, atrás de um firewall. Portanto, mesmo que eu tenha um servidor de acesso remoto configurado (como o servidor NoMachine NX mais excelente), não consigo acessá-lo em casa.

Minha rede doméstica possui um servidor Linux. É possível ssh do trabalho para a máquina Linux doméstica e configurar um túnel para que, quando estiver em casa, eu possa executar o cliente NX, apontá-lo para minha caixa Linux doméstica em alguma porta como 9000 e seguir adiante através do túnel para a porta 22 na minha caixa Linux de trabalho? Como eu configuraria isso?

CaptSaltyJack
fonte
Sua empresa não fornece algum tipo de acesso VPN?
21411 Keith

Respostas:

8

Na máquina em funcionamento, crie um túnel para sua máquina executando o ssh em casa:

randolf@workserver:~$ ssh -vvv randolf@myhomeserver -R 44455:localhost:22

Isso encaminhará a porta remota 44455 do servidor doméstico para a porta 22 (ou a porta que o ssh estiver escutando) em sua máquina de trabalho.

Em casa, verifique se alguma coisa está ouvindo no 44455

randolf@homeserver:~$ netstat -an | grep 44455
tcp        0      0 127.0.0.1:44455         0.0.0.0:*               LISTEN 

Em seguida, para conectar-se de casa à sua máquina de trabalho, do seu servidor doméstico:

randolf@homeserver:~$ ssh localhost -p 44455
Password: ******

A partir daí, você deve estar conectado à sua máquina de trabalho através do seu túnel.

CJ Travis
fonte
Perfeito, exatamente o que eu estava procurando. Então eu posso usar o NX para fazer login remotamente.
CaptSaltyJack 27/05
Incrível, feliz por ter ajudado!
CJ Travis
1

Você pode configurar algumas portas para encaminhar com seu firewall ou até mesmo usar uma ferramenta como "rejeição" para redirecionar portas, se houver algumas restrições sobre o que você pode fazer com seu firewall, mas aqui está o que eu faria se eu fosse Você:

Instale o excelente software OpenVPN de código aberto e de usuário de código aberto. Configure o servidor de destino como um cliente OpenVPN (e configure novas tentativas infinitas de conexão) e o servidor Linux doméstico como o servidor OpenVPN. Dessa forma, o servidor de destino executando o cliente OpenVPN será conectado ao servidor Linux doméstico sempre que estiver operacional e conectado à Internet - por meio dessa conexão VPN, você poderá ter acesso total ao servidor de trabalho / destino (executando o cliente OpenVPN) .

  OpenVPN (solução VPN gratuita, de código aberto e de usuário com recursos completos)
  http://www.openvpn.net/index.php/open-source.html

Randolf Richardson
fonte
Portanto, apenas para ter certeza de que estou certo: minha caixa Linux doméstica executa um servidor OpenVPN e minha caixa Linux no trabalho executa um cliente OpenVPN que permanece conectado à minha VPN doméstica Linux? E isso me permitirá (em casa) remotamente na minha caixa de trabalho do Linux?
CaptSaltyJack
@CaptSaltyJack: Sim. O objetivo de uma VPN é estender a rede para outro computador ou outra rede de mais computadores, e as comunicações podem ir nos dois sentidos. Você pode configurar qualquer um como servidor VPN (e provavelmente seria mais útil configurar seu trabalho como servidor, mas a maneira como você fez sua pergunta me levou a sugerir o contrário - realmente não importa para que lado você faz isso). O IP privado do servidor OpenVPN será 10.8.0.1 (padrão) e o primeiro cliente OpenVPN será 10.8.0.6 (padrão) - eles poderão fazer ping / conectar-se.
Randolf Richardson
@CaptSaltyJack: O servidor que possui um endereço IP estático também deve realmente ser o servidor OpenVPN (a menos que tenha um nome de host que mude automaticamente com o IP).
Randolf Richardson
Bem, no trabalho, a rede é configurada de forma que todos os computadores sejam protegidos por firewall e, para o mundo externo, eles têm um IP. Portanto, não acho que poderia executar um servidor VPN na minha máquina de trabalho e conectar-me a ela. Eu provavelmente teria que conectá-lo à minha máquina doméstica.
precisa saber é o seguinte
@CaptSaltyJack: Assim como eu suspeitava. De qualquer maneira, você o configura (qualquer que seja o servidor OpenVPN), seus aplicativos (incluindo ssh) não saberão a diferença.
Randolf Richardson
1

Como conectar-se a uma caixa Linux na porta 3389 (RHEL5)

Infelizmente, a porta 22 é bloqueada por muitos firewalls e os túneis podem abrir brechas de segurança, portanto, a melhor abordagem é configurar o ssh e o NX para escutar na porta 3389, em vez do padrão 22, que pode confundir a maioria dos hackers.

Configure o OpenBSD para ouvir a porta 3389

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

Baixe o NX Client para Windows no site do RHEL ftp

wget http://64.34.173.142/download/3.5.0/Windows/nxclient-3.5.0-9.exe

Faça o download do NX Free Edition para Linux

wget http://64.34.173.142/download/3.5.0/Linux/nxclient-3.5.0-7.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/nxnode-3.5.0-9.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/FE/nxserver-3.5.0-11.i386.rpm

Como root - instale o NX nesta ordem

rpm –ivh nxclient-3.5.0-7.i386.rpm
rpm –ivh nxnode-3.5.0-9.i386.rpm
rpm –ivh nxserver-3.5.0-11.i386.rpm

Configurar o NX para a porta 3389

vim /usr/NX/etc /node.cfg
#
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHDPort = "3389"

vim /usr/NX/etc /server.cfg
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHDPort = "3389"

service nxsensor restart
nxserver --daemon restart
George
fonte