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).
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.
[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.
[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...
[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!
[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.
[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
[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 )
[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.
[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
[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).
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
[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.
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