Acesso seguro a um desktop remoto utilizando Linux, OpenVPN e Nxserver

Administrando redes de computadores remotamente e de forma segura, usando OpenVPN e NxServer para acessar áreas de trabalho compartilhadas na sua rede. Essencial quando se tem ambientes mistos com vários Sistemas Operacionais (Linux, Windows e etc).

[ Hits: 81.713 ]

Por: Bruno Roberto em 17/05/2007


Configurando o firewall



Antes de passar para a configuração do cliente da VPN, se você possui um firewall, devemos fazer as devidas atualizações nas suas regras.

1. Como estamos falando em acessar um computador a partir da internet, é necessário que o mesmo possua um endereço IP válido para rotear na internet.

Ex: 200.175.x.y, pois do contrário você não conseguirá acessá-lo. Todo mundo que está conectado a internet já tem um IP válido, procure saber qual é, porque não entrarei nos méritos dessa questão.

2. No meu caso possuo um firewall como barreira inicial para e da internet e quase todas as implementações de firewalls são feitas para realizarem "mascaramento" de endereços que vêem da internet com destino as máquinas da rede interna.

Portanto para que a VPN possa funcionar é necessário que não haja esse mascaramento, ou seja, haverá apenas um "redirect" do nosso endereço de internet (200.175.x.y ou etc) para o destino na rede local (192.168.10.1, suponha que esse seja o IP original do servidor da VPN), só que neste caso, esse servidor da VPN vai estar numa DMZ. Para quem já conhece, são os mesmos procedimentos tomados para acesso a um servidor Web. Tudo isto deve ser feito para que você possa autenticar a VPN a partir da sua usando um link ADSL ou mesmo internet discada.

3. Libere acesso no firewall da internet para o servidor VPN (192.168.10.1) na porta 1194 protocolo UDP.

4. No meu firewall somente essas configurações foram necessárias. De acordo com a sua segmentação de rede, podem haver mais configurações.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o servidor
   3. Configurando o firewall
   4. Configurando o cliente
Outros artigos deste autor

Instalando Xen 3.3.0 no Debian Lenny Linux

Leitura recomendada

Criando máquinas virtuais e utilizando o VMWare-Player

Elog - Documentação eletrônica

Instalando Mozilla 1.6 e plugins

Bioinformática - Análise Filogenética com Clustalx

Modelos de Negócio para o Software Livre

  
Comentários
[1] Comentário enviado por lucas.suporte em 17/05/2007 - 12:00h

Bom artigo cara não olhei tudo mais só o pouco que vi achei mmuito bom, esta é uma solução muito boa!! Pra quem é administrador de rede e quer ter acesso as estações dos clientes.
Parabens
Abraço
Lucas Rocha

[2] Comentário enviado por carlosraniery em 17/05/2007 - 22:20h

Pessoal, estou tendo problemas com o NXClient, quando o executo recebo esta mensagem de erro:

NX> 595 ERROR: A fatal error occurred in NX Server.
NX> 595 ERROR: The exception id is: 6748CCBF. To get detailed information about
NX> 595 ERROR: the error search for the string 6748CCBF in the system log
NX> 595 ERROR: file (usually '/var/log/messages').
Killed by signal 15.

Em meu log tenho o seguinte:
May 17 22:12:25 localhost NXSERVER 2.1.0-22[21200]: ERROR: (exception id 0170694F) main::parse_args called at nxserver.pl line 4496
May 17 22:12:25 localhost NXSERVER 2.1.0-22[21200]: ERROR: (exception id 0170694F) eval {...} called at nxserver.pl line 4493

Estou usando Debian e o NX foi instalado com os .deb. Qualquer idéia eu agradeço.

[3] Comentário enviado por calaff2 em 17/05/2007 - 22:27h

cara muito bom msm! tbm n li tudo hauah tava lendo sobre ltsp ae parei para ver seu artigo ! + pelo o que eu li ta show!! qq dia vou testar ele aki!!

[4] Comentário enviado por brunaocomanda em 18/05/2007 - 12:59h

Caro Carlos Raniery,

Este erro (NX> 509 ERROR) ocorre no Linux, certo? Quando? No momento da instalação do nxclient*.*deb, por exemplo?!

[5] Comentário enviado por carlosraniery em 18/05/2007 - 20:08h

Opa Bruno, estou usando o Linux sim e o erro ocorre quando, usando o nxclient, tento me logar no servidor. Percebi que logo acima dessas mensagens de erro há uma outra que pode dar uma ideia melhor de qual é o problema:
NX> 148 Server capacity: not reached for user: raniery

[6] Comentário enviado por mpinho em 18/05/2007 - 22:05h

Gostei do artigo mas usar windows em casa eu tô fora. É muito mais prático para administradores Unix/linux usar linux também em casa para essas tarefas de administração remota. No windows tem que ficar instalando um monte de coisas e você fica sem poder fazer testes e acessar os man's localmente.

[7] Comentário enviado por sektor em 19/05/2007 - 16:37h

eu uso openvpn para interligar duas empresas distantes, funciona tudo muito ótimo, e na filial tenho um samba como servidor wins, para as maquinas se enchergarem na rede, quando preciso acessar o servidor remotamente para corrigir alguma coisa, ou ver como esta o andamento do mesmo utilizo o ssh, se eu estiver em uma estação windows, acesso usando o putty, =) muito bom, simples e nao precisa ser instalado, rodo do meu pendrive mesmo...segue o link abaixo para o download...

http://superdownloads.uol.com.br/download/46/putty/

[8] Comentário enviado por aprendiz_ce em 19/05/2007 - 22:59h

Parabéns pelo seu artigo!

Gostei muito mesmo e predendo implementa-lo o quanto antes.

Mas me tira um dúvida: Esse NX é semelhante ao VNC? Se for, essa solução não poderia ser implementa com o VNC?

Obrigado e aguardo retorno.

[9] Comentário enviado por brunaocomanda em 21/05/2007 - 09:03h

MRPINHO.... de acordo com a introdução do artigo, eu utilizo Linux sim em todos os lugares, mas há funcionários aqui na empresa que não utilizam Linux em casa e sim Windows, e como disse, procurava uma forma de acesso independente da plataforma utilizada, pois todos nós precisamos fazer ajustes na nossa rede e aplicações, claro, cada um dentro da sua área.

[10] Comentário enviado por brunaocomanda em 21/05/2007 - 09:07h

Caro SEKTOR... o artigo visa abordar exatamente isso... às vezes, principalmente para servidores com Windows, infelizmente a gente tem, somente SSH não resolve o problema, é preciso acesso ao Desktop e este é um dos focos do artigo, mas claro, nada impede que você acesse os demais servidores UNIX via SSH e isso exatamente que nós fazemos. Essa implemtentação é meio um "canivete suíço", ou seja, várias formas de se usar para vários gostos! =)

[11] Comentário enviado por brunaocomanda em 21/05/2007 - 09:12h

Caro MARDONIO... não, o NX não é a mesma coisa que VNC. Explico: O VNC funciona como "printscreens" da tela, entende? Ou seja, ele fotografa a tela, compacta a imagem e envia para a outra ponta do nó. Por ser assim, acaba sendo muito lento. Diferentemente, o NX passa os parâmetros necessários para que o servidor X monte a tela na outra ponta do nó, como se fossem as cordenadas para se criar outra tela exatamente como aquela está. Por ser assim, apenas comandos, parâmetros, cordenadas, o NX acaba sendo muito mais rápido, e isso faz muita diferença quando se fala em termos de tráfego pela internet.

[12] Comentário enviado por brunaocomanda em 22/05/2007 - 12:03h

Caro Raniery,

Realmente não consegui descobrir o que seja seu problema. Para verificar que não era nenhum tipo de erro no artigo, as vezes faltou algum detalhe, eu fiz uma instalação do Debian total a partir do zero, instalei o sistema básico mais o KDE e segui exatamente todos os passos descritos no artigo para criar o acesso remoto e funcionou perfeitamente, de primeira! Informo que nesta nova instalação, utilizei os drivers genericos do Linux para o vídeo, no caso "vesa" e não fiz alteração alguma em qualquer arquivo de configuração do kde, ssh e etc, apenas criei os ".conf" do openvpn!

[13] Comentário enviado por aprendiz_ce em 29/05/2007 - 15:51h

Bruno,

Entendi a sua explicação. OK?

Muito obrigado e um forte abraço.

[14] Comentário enviado por ricardoolonca em 26/06/2007 - 22:19h

Muito bom artigo. Eu estava com dificuldades da conectar a vpn da empresa através da minha estação Linux de casa. Com algumas pequenas modificações no teu artigo eu consegui numa boa.

Parabéns!

[15] Comentário enviado por caiquemd em 17/07/2007 - 18:13h

Amigo muito bom mais eu quero saber como farei para assesar ao mesmo tempo o servidor linux via openvpn e mapea ambas as maquinas externa...obrigado

[16] Comentário enviado por brunaocomanda em 20/07/2007 - 16:17h

Caiquemd,

Vc deve criar arquivos de configuração, com IP, porta e dispositivo de rede (tun0, tun1, tun2 e etc) diferentes para cada cliente que for acessar a VPN.
Da mesma forma vc configura cada cliente de acordo com cada IP e porta disponibilizados pela VPN. Reinicie o serviço OpenVPN e você verá muitos IPs, cada qual relacionado a cada arquivo de configuração criado. No demais, é tudo igual, inclusive, pode-se utilizar as mesmas chaves. Espero ter ajudado.

[17] Comentário enviado por antonioleite em 26/08/2007 - 17:57h

Amigos ja procurei por diversos artigos e livros e nada é o seguinte: Quando eu executo o ifconfig tun0 da o seguinte erro: TUN0: ERRO obtendo informações da interface: %s dispositivo não encontrado.
Só que eu ja reinstalei o Debian etch umas 1000 vezes e carrego o TUN "modprobe tun" o mesmo esta presente quando dou lsmod e sempre paro ai. Pergunto o que estou fazendo de errado se segui todos os passos acima, eu preciso estar com o outro computador conectado na filial para o TUN subir? Uma ajudinha por favor... Obrigado

[18] Comentário enviado por brunaocomanda em 27/08/2007 - 12:06h

Antonio,

Vc configurou e iniciou o serviço OpenVPN corretamente??? Somente quando o OpenVPN está de pé, é que ele cria a interface TUN0!

[19] Comentário enviado por antonioleite em 27/08/2007 - 14:03h

Eu utilizei o rcconf e o mesmo aparece para iniciar junto com o Debian etch eu até coloquei um link simbolico com o seguinte conteudo

openvpn --config /etc/openvpn/matriz.conf -daemon

e mesmo assim da este erro o que pode ser, sou iniciante tem outra forma de eu ver se o openvpn esta iniciado? ao iniciar o Linux o mesmo ja inicia correto? (/etc/init.d/openvpn restart )

Agradeço a ajuda...

[20] Comentário enviado por antonioleite em 28/08/2007 - 06:15h

Amigo brunaocomanda fiz o teste de restartar o openvpn como vc sugeriu e da o seguinte erro:
MATRIZ(FAILED)

segui exatamente o script acima e logo em seguida passei:
modprobe tun
openvpn --config /etc/openvpn/matriz.conf --daemon
/etc/init.d/openvpn restart

depois disto da MATRIZ(FAILED)

Eu instalei agora o debin sarg 3.1

Uma Ajudinha por favor....

[21] Comentário enviado por brunaocomanda em 30/08/2007 - 13:48h

Caro Antonio Leite,

Para iniciar o OpenVPN no Debian, vc o faz com o comando:
/etc/init.d/openvpn start

Não é necessário passar nenhum parametro. Após o comando execute "ps ax" e verifique se existe um processo para o OpenVPN. Utilize tbem "ifconfig" e veja se foi criado a interface tun0.

[22] Comentário enviado por brunaocomanda em 30/08/2007 - 13:50h

Outro detalhe é quanto ao nome do arquivo: matriz.conf.
Para desencardo de consciencia, mude o nome para openvpn.conf
Falowww...

[23] Comentário enviado por antonioleite em 31/08/2007 - 06:16h

Amigão


Mudei varias coisas para fazer um teste mais rapido, uma delas era o usuario e grupo nobody que não funcionava entaão criei outro usuario e grupo openvpn e ficou assim com o seguinte erro (não sei se é porta mas ja troquei por varias delas 5000, 5001, 5500, inclusive esta liberada no firewall)

openvpn.conf
dev tun
log /etc/openvpn/vpn.log
ifconfig 10.0.0.1 10.0.0.2
cd /etc/openvpn
secret chave
port 1194
user openvpn
group openvpn
comp-lzo
ping 15
verb 3

vpn.log
Fri Aug 31 06:04:37 2007 OpenVPN 2.0.9 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Jan 21 2007
Fri Aug 31 06:04:37 2007 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Fri Aug 31 06:04:37 2007 WARNING: you are using user/group/chroot without persist-key/persist-tun -- this may cause restarts to fail
Fri Aug 31 06:04:37 2007 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Aug 31 06:04:37 2007 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Aug 31 06:04:37 2007 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Aug 31 06:04:37 2007 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Aug 31 06:04:37 2007 LZO compression initialized
Fri Aug 31 06:04:37 2007 TCP/UDP: Socket bind failed on local address [undef]:1194: Address already in use

brunaocomanda

Obrigado

Abraços

[24] Comentário enviado por brunaocomanda em 31/08/2007 - 09:30h

Antonio,

Verifique se sua faixa de IP na rede não é a mesma usada no openvpn.conf (10.0.0.1), se for eles não podem estar na mesma rede. Utilize algo diferente como 10.0.0.1 para a VPN e 192.168.10.1 para a interface eth0 ou qualquer coisa nesse sentido.
Observe também se o modulo tun está compilado para o kernel em uso. tente "modprobe tun". Falowww...

[25] Comentário enviado por fabian em 05/01/2008 - 09:37h

Olá amigos.

Segui passo-a-passo o tutorial mas estou encontrando dificuldades para iniciar o openvpn. Quando executo /etc/initi.d/openvpn me retorna:
Starting virtual private network daemon: openvpn(FAILED).

Os amigos saberiam me dar uma luz?

Obrigado!
Diego Fabian


RESOLVIDO.

Executei o comando:

groupadd nobody

E resolveu.

Obrigado!

[26] Comentário enviado por inguants em 24/04/2008 - 18:55h

Carois Amigos,

Estou com problemas na hora de reiniciar o openvpn.

linuxserv:/home/luciano# /etc/init.d/openvpn restart
Stopping virtual private network daemon:.
Starting virtual private network daemon: openvpn(FAILED).

VPLOG

Fri Apr 25 12:30:30 2008 OpenVPN 2.0.9 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Sep 20 2007
Fri Apr 25 12:30:30 2008 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Fri Apr 25 12:30:30 2008 Cannot open /etc/openvpn/keys/dh1024.pem for DH parameters: error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file
Fri Apr 25 12:30:30 2008 Exiting


ja fiz adcionei o grupo e tudo mas não vai

Desde ja agradeço....

[27] Comentário enviado por roosevelt_bh em 17/05/2008 - 13:14h

Sat May 17 13:10:22 2008 OpenVPN 2.1_rc7 Win32-MinGW [SSL] [LZO2] [PKCS11] built on Jan 29 2008
Sat May 17 13:10:22 2008 WARNING: using --pull/--client and --ifconfig together is probably not what you want
Sat May 17 13:10:22 2008 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat May 17 13:10:32 2008 Cannot load CA certificate file ca.crt path (null) (SSL_CTX_load_verify_locations): error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
Sat May 17 13:10:32 2008 Exiting

sera que os senhores poderiam me auxiliar neste problema ????

[28] Comentário enviado por brunaocomanda em 18/05/2008 - 10:23h

Caro inguants,

A inicializacao do openvpn deve ser feita como root, pois se trata de um servico dentro do init.d. O usuario e grupo nobody e para uso do proprio daemon depois de iniciado como root. Se nao o tiver fazendo, tente iniciar com o root.

[29] Comentário enviado por brunaocomanda em 18/05/2008 - 10:25h

Caro Roosevelt_bn,

Vc colocou os arquivos ca.crt cliente.crt e cliente.key no diretorio c:/arquivos de programas/openvpn . Esse deve ser o lugar deles. Apos isso crie um arquivo .bat dentro desse mesmo diretorio com o seguinte conteudo:

"C:\Arquivos de programas\OpenVPN\openvpn.exe" --config cliente.ovpn --tls-client

Inicie a vpn a partir desse script. Lembre-se de configurar bem o arquivo cliente.ovpn confomre o artigo.

Desculpes a demora. Boa sorte e estou a disposicao.

[30] Comentário enviado por eesm_redhat em 02/03/2009 - 10:35h

Cara pode me dar um ajudinha

seguinte eu instalei so que quando tento iniciar o servico me aparece a msg abaixo

openvp /usr/local/sbin/openvpn --config /etc/openvpn/incorp.conf --daemon
Options error: Unrecognized option or missing parameter(s) in /etc/openvpn/incorp.conf:32: tls-server (2.0.7)
Use --help for more information.



[31] Comentário enviado por brunaocomanda em 02/03/2009 - 10:51h

Seguinte eesm_redhat,

Vc está usando a versão 2.0.7 do openvpn. Tente atualizar e usar a versão 2.1

Se não der certo, poste ai o conteudo do arquivo "incorp.conf"

[32] Comentário enviado por andrei_scaratti em 20/08/2009 - 11:22h

Bom dia inguants
estava com esse mesmo problema, para solucionar tive que gerar os certificados novamente.

Att Andrei Scaratti

Estou com problemas na hora de reiniciar o openvpn.

linuxserv:/home/luciano# /etc/init.d/openvpn restart
Stopping virtual private network daemon:.
Starting virtual private network daemon: openvpn(FAILED).

VPLOG

Fri Apr 25 12:30:30 2008 OpenVPN 2.0.9 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Sep 20 2007
Fri Apr 25 12:30:30 2008 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Fri Apr 25 12:30:30 2008 Cannot open /etc/openvpn/keys/dh1024.pem for DH parameters: error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file
Fri Apr 25 12:30:30 2008 Exiting


ja fiz adcionei o grupo e tudo mas não vai

Desde ja agradeço....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts