O seu portal de estudos

VPN entre Linux e Windows com OpenVPN

Posted by Vagner Fonseca em 10 de março de 2011

openvpn

 

Muitas vezes precisamos que pessoas que não estejam em nossa rede possam trabalhar como se nela estivessem, a forma de fazer isso é com uma Rede Privada Virtual (VPN). Ter vendedores que possam fazer pedidos e ter acesso ao banco de dados da empresa de forma rápida e segura é essêncial para estar onde o cliente precisa e ao mesmo tempo manter a integridade da rede.

O OpenVPN trás a compressão com algoritmo lzma e criptografia de chaves assimétricas para dar velocidade e segurança aos dados da rede e com certificados criados e assinados por uma autoridade certificadora que a VPN reconhece garantimos que as conexões serão aceitas se possuirem um certificado válido. Outra vantagem do OpenVPN é ter clientes para vários sistemas operacionais e sistemas móveis.

No nosso exemplo temos uma rede com Gateway Linux Ubuntu e cliente Windows 7 64 bits. A rede possui IP 10.0.0.0/24 e o cliente um IP 192.168.1.1, a VPN deve ter um IP que seja diferente das redes para funcionar sem muito trabalho.

Iremos direto a configuração da VPN e certificados no servidor e colocação de certificados e configuração no cliente.

Veja no vídeo abaixo:

Arquivo de configuração da Matriz.

Arquivo de configuração do Vendedor.

 

Muito obrigado e não se esqueça de assinar o nosso blog.

Anúncios

114 Respostas to “VPN entre Linux e Windows com OpenVPN”

  1. Bruno Cruz(Belém/Pará) said

    Boa vagner!! muito bacana !

  2. […] fonte Compartilhe: […]

  3. Deyvid said

    Qual o usuário e senha dos arquivos da matriz e filial ????
    Mas o post está de parabéns….

  4. Junior said

    ótimo artigo!
    Ficou uma dúvida, em qual pasta coloco o arquivo matriz.conf e vendedor.conf?

    • Junior,

      O arquivo matriz.conf fica no servidor Linux no diretório /etc/openvpn.

      O arquivo vendedor.conf no cliente Windows fica no diretório C:\Arquivos de Programas\OpenVPN\conf

      Espero ter ajudado.

  5. Junior said

    Valeu wagner deu certo!

    porém utilizo no mesmo server o squid mas ao iniciar o serviço do openvpn ao efetuar a primeira conexão do cliente com o servidor, meu link de internet cai, só volta se parar o serviço. poderia me dar uma dica do que estaria havendo?

    grato

  6. Junior said

    Na verdade a situação é a seguinte: sempre que dou um start no serviço do openvpn meu proxy para. uso na rede interna o ip 192.168.1.0 255.255.255.0, na segunda rede a que recebe o link de internet dedicada uso 177.x.x.x nos arquivos da matriz.conf na linha da rede usada pela VPN defini o server 192.168.1.0 255.255.255.0 e uma rota 10.0.0.0 255.255.255.0, essa configuração de server está incorreta?

  7. Junior said

    Matriz:
    eth0 (rede local)
    ip:192.168.1.122
    masc: 255.255.255.0

    eth1 (ip dedicado)
    ip: 177.19.x.x
    masc: 255.255.255.248

    Vendedor
    rede local
    ip:192.168.1.134
    masc: 255.255.255.0

    internet
    ip dinamico

    • O problema Junior são as redes iguais da Matriz e da Filial, para resolver isso teria de fazer uma imenso nat de redes, a solução mais simples é alterar umas das redes, vendedor (filial) por exemplo para 192.168.2.0/24. É possível?
      Pois com as redes sendo iguais, quando sua rede matriz procura 192.168.1.XX ela não precisa de rotas pois é a própria rede dela, assim também o seu gateway se enrola na hora de rotear a internet para rede interna.

      • Junior said

        Valeu Vagner, entendi vou alterar a faixa da rede matriz apesar que eu vou ter alguns probleminhas, será bem prático mudar para uma faixa de “ip’s” não tão usada quanto as 192.168…, pode me dar uma dica de qual faixa fica melhor de trabalhar e quais evitar?

      • Junior,

        Não existe problemas em nenhuma faixa de IP se você faz a separação correta por máscaras, se a sua máscara for /24 (255.255.255.0) pode usar 192.168.1.0/24 para uma rede e 192.168.2.0/24 para outra, 192.168.3.0/24 e assim sucessivamente. Por ser /24 apenas o último octeto é relevante, assim podemos padronizar as redes e não termos problemas.
        No seu caso sugiro utilizar na matriz que vai ser mudada 192.168.2.0/24 e nas outras redes futuras a partir de 192.168.3.0/24, e no seu caso usaria os IPs de túnel 10.0.0.1 no vendedor e 10.0.0.2 na matriz.
        Um abraço meu amigo.

      • Junior said

        Wagner desculpe o numero de perguntas mas ainda não entendi a situação, na verdade sempre que meu cliente tiver uma faixa de ip igual a do meu servidor ele terá que mudar? porque a idéia de usar a vpn, é acessar um banco de dados da minha rede 192.168.1.0/24, e que todos os meus clientes acessem o banco através da vpn, ou seja sempre que eu tiver um cliente com a mesma rede, terá que mudar, a rota não faria isso?

      • Junior,
        Ter que mudar você não tem, mas lembre-se que quando uma máquina procura um IP da mesma faixa que ela possui ela não procura o roteador(gateway) por achar que pode chegar nela sozinha. Você teria que fazer muitos NATs para isso. Se o acesso é de apenas uma máquina direto para o Servidor de VPN, pode omitir a rota e fazer uso apenas dos IPs de VPN (10.0.0.1 e 10.0.0.2). Você teria que dizer que todo IP da mesma rede que você que vem pelo túnel teria de ser remapeado para outra faixa de IP, isso pra cada túnel de cada cliente uma faixa diferente, nas duas pontas, isso obrigaria a ter um firewall Linux nas duas pontas.

  8. Luiz Felipe said

    Fala Vagner, cara assisti seu vídeo, realmente muito bom! Seguinte eu chego até a parte em que você dá o comando openvpn restart só que meu linux dá como diagnóstico um fail. Em que caminho eu acho o arquivo de log que teria o log desse erro?

    Desde já agradeço.

  9. Luiz Felipe said

    Vagner consegui resolver o problema, li em alguns outros tutoriais ai adicionei essas linhas no .conf

    # Informações de status da conexão
    status /var/log/openvpn/matriz-staus.log

    # Arquivo de log
    log-append /var/log/openvpn/matriz.log

    enfim parece que gerou o arquivo de log ai quando abrir o matriz.log ele tinha este erro aqui
    Options error: You must define certificate file (–cert) or PKCS#12 file (–pkcs12)

    você poderia me dar um help? o que este erro estaria apontando?

  10. Vagner, me ajuda cara, aqui rodou perfeito, eu estando na mesma rede, coloco o meu endereco dyndns e loga normalmente, porem quando eu estou fora da minha rede e tento conecta fica parado na open link remote [192.168.0.216:1194] e nao sai da ir por nada.

    O q pode ser?

    Absss

    • Renato,

      Qual link que você usa para fazer o acesso de fora da rede? Lembre que o IP 192.168.0.216 não é um IP válido, portanto não pode ser usado via internet.

      • Entao Vagner. eu uso o dominio dyndns que configuerei. porem conforme havia falado com vc, verifiquei se a porta estava liberada no meu modem adsl do speedy, acabei de verificar que a porta 1194 nao esta listando como liberada, dei um nmap -a no ip da minha rede e mostrou apenas a posta 1723 aberta, que uso para vpn no Windows 2008. Quando falei do ip 192.168.0.216, é que esse ip esta minha aplicacao vpn e eu entedi que, como o openvpn para nessa opcao, ele esta pelo menos identificando que minha aplicacao esta nesse ip, ele barra a entra apenas na porta 1194.
        Irei acessar minhas confg do modem da speedy e fazer um redirecionamento para a porta 1194 e verificar se resolve.

        abss e obrigado pelo retorno.

  11. Pessoal, se alguem puder me ajudar com esse problema, não consigo resolver por nada.

    Vlwww pessoal do Cooperati.

  12. Pedro said

    Ola,
    Eu cheguei a parte de iniciar a VPN e dá o fail 😐

    Que posso fazer?

  13. Pedro said

    Esses comandos resultam isto:

    “Options error: I’m trying to parse “-config” as an –option parameter but i dont see a leading ‘–‘

  14. Pedro said

    Ja resolvi a erro do comando, eu esqueci de meter o duplo “-“

  15. Pedro said

    E agora? Só consegui correr o primeiro comando. O segundo nao funcionou. Que é que precisa de saber agora para me poder ajudar?

  16. Pedro said

    Ola de novo,

    A parte do linux foi realizada com sucesso. Agora tou com erro na parte windows.

    Sun Jun 12 20:36:37 2011 NOTE: –user option is not implemented on Windows
    Sun Jun 12 20:36:37 2011 NOTE: –group option is not implemented on Windows
    Sun Jun 12 20:36:37 2011 OpenVPN 2.1.4 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 8 2010
    Sun Jun 12 20:36:37 2011 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Sun Jun 12 20:36:37 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
    Sun Jun 12 20:36:37 2011 Cannot load private key file vendedor1.key: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib
    Sun Jun 12 20:36:37 2011 Error: private key password verification failed
    Sun Jun 12 20:36:37 2011 Exiting

    Ae, que faço agora?

    Obrigado malta

  17. Pedro said

    Aff desclupa ai o comentario em cima. RESOLVI 🙂

  18. Pedro said

    Problema agora: (Desculpa a quantidade de comments, mas tou aflito pa um trabalho da escola) – Nao se preocupe que vou colocar referencia para o autor (voce).

    Agora a ligaçao morre a meio, o icon na “barra relogio” do windows fica amarelo e fica tentando ligar-se mas não consegue:

    Sun Jun 12 20:48:27 2011 NOTE: –user option is not implemented on Windows
    Sun Jun 12 20:48:27 2011 NOTE: –group option is not implemented on Windows
    Sun Jun 12 20:48:27 2011 OpenVPN 2.1.4 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 8 2010
    Sun Jun 12 20:48:27 2011 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
    Sun Jun 12 20:48:27 2011 NOTE: OpenVPN 2.1 requires ‘–script-security 2’ or higher to call user-defined scripts or executables
    Sun Jun 12 20:48:27 2011 LZO compression initialized
    Sun Jun 12 20:48:27 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
    Sun Jun 12 20:48:27 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Sun Jun 12 20:48:27 2011 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{18E4F2D5-624B-49B5-94CF-AE2085987A7F}.tap
    Sun Jun 12 20:48:27 2011 TAP-Win32 Driver Version 9.7
    Sun Jun 12 20:48:27 2011 TAP-Win32 MTU=1500
    Sun Jun 12 20:48:27 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.255.2/255.255.255.252 on interface {18E4F2D5-624B-49B5-94CF-AE2085987A7F} [DHCP-serv: 192.168.255.1, lease-time: 31536000]
    Sun Jun 12 20:48:27 2011 NOTE: FlushIpNetTable failed on interface [29] {18E4F2D5-624B-49B5-94CF-AE2085987A7F} (status=5) : Access is denied.
    Sun Jun 12 20:48:27 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
    Sun Jun 12 20:48:27 2011 Local Options hash (VER=V4): ‘cebd65bc’
    Sun Jun 12 20:48:27 2011 Expected Remote Options hash (VER=V4): ‘04425bfb’
    Sun Jun 12 20:48:27 2011 UDPv4 link local (bound): [undef]:6999
    Sun Jun 12 20:48:27 2011 UDPv4 link remote: 10.0.0.105:6999

    Será da minha firewall?

    • Pedro,

      Você está usando a porta 6999 nas duas pontas correto, mas parece que o problema ainda não está chegando no firewall, mas no Windows, você colocou para rodar como administrador? Parece que ele não está criando a interface TAP corretamente, isso provavelmente é problema na instalação (ficou faltando algo) ou na execução (faltou privilégios).

      Abraços.

  19. Renato said

    Cara, seu firewall tem que esta liberando a porta 1194, e como é sua internet ai, se for speedy, tem q liberar a porta 1194 no modem da speedy e tbm no seu roteador se tiver!.

    Abss

  20. Pedro said

    Agora deu diferente, mas gelou no mesmo sitio:

    Sun Jun 12 22:32:38 2011 LZO compression initialized
    Sun Jun 12 22:32:38 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
    Sun Jun 12 22:32:38 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Sun Jun 12 22:32:38 2011 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{18E4F2D5-624B-49B5-94CF-AE2085987A7F}.tap
    Sun Jun 12 22:32:38 2011 TAP-Win32 Driver Version 9.7
    Sun Jun 12 22:32:38 2011 TAP-Win32 MTU=1500
    Sun Jun 12 22:32:38 2011 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.255.2/255.255.255.252 on interface {18E4F2D5-624B-49B5-94CF-AE2085987A7F} [DHCP-serv: 192.168.255.1, lease-time: 31536000]
    Sun Jun 12 22:32:38 2011 Successful ARP Flush on interface [17] {18E4F2D5-624B-49B5-94CF-AE2085987A7F}
    Sun Jun 12 22:32:38 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
    Sun Jun 12 22:32:38 2011 Local Options hash (VER=V4): ‘cebd65bc’
    Sun Jun 12 22:32:38 2011 Expected Remote Options hash (VER=V4): ‘04425bfb’
    Sun Jun 12 22:32:38 2011 UDPv4 link local (bound): [undef]:6999
    Sun Jun 12 22:32:38 2011 UDPv4 link remote: 10.0.0.105:6999

  21. Pedro said

    Nao percebo é porque que nao me deixa alterar o config do vendedor1.ovpn

    Queria alterar o IP 10.0.0.105 para outro, mas depois guardo, volto a tentar conectar a VPN e dá este erro:

    Options error: Unrecognized option or missing parameter(s) in vendedor1.ovpn:1: # (2.1.4)
    Use –help for more information.

    O IP da minha maquina ubunto é 192.168.1.97
    O IP da minha maquina cliente é: 192.168.1.82
    O IP dado pelo meu ISP é 18X.X2.20X.1XX (segundo o site omeuip.com)

  22. Pedro said

    Merda de windows pa…tava a corromper os ficheiros de config do vendedor1.

    VALEU, ta tudo rolando 100%!

  23. Renato said

    Entao Vagner, tem um modem (speedy) e um roteador entre ele e a internet, no roteador eu ja fiz o redirecionamento, é necessário fazer isso no modem tbm?
    Obrigado.

    • Renato,

      Se o quem disca para o provedor é o roteador não precisa fazer mais nada, mas se o modem é roteado a liberação deve ser feita nele.

      • Renato said

        Entao meu modem da speedy é roteado sim. Quer dizer q tenho q liberar a porta nele tbm. Irei fazer isso.
        Obrigado.

      • Renato said

        Entao, descobrir uma coisa, conseguir liberar a porta 1194 direto pelo meu roteador. porem agora ela aparece com o seguinte status no nmap
        1194/udp open|filtered.
        pelo que pesquisei esse open|filterede é pq o nmap nao conseguiu identificar se ela esta aberta ou nao, quer dizer que tem algo inpedindo a verificacao da porta, mas nao temos firewall nem nenhuma outra aplicacao semelhante, e o meu modem da speedy não é roteador, ela nao tem a opcao de liberar porta, ja pesquisei isso.

        Agora to na roça.

  24. Renato said

    Vagner, me ajuda cara, ta muito estranho a parada aqui. Seguinte, vc disse que tenho q liberar a porta no meu modem da speedy, blz o mesmo nao tem essa opcao. Entao fiz uma verificacao usando o nmap, o resultado quando verifico o meu ip na porta 1194 é esse:
    port state service
    1194 closed unknown

    porem tenho outra porta liberada no router, que é a 1723, pptp, e essa esta liberada:
    port state service
    1723 open pptp

    Pq será isso?

  25. Renato said

    Outra coisa pessoal, teria como eu usar outra porta no openvpn, ao inves da 1194, se tem o que devo fazer. Pq tentei colocar outra porta no confg matriz e quando restarto o vpn ele nao inicia, da erro.
    Obrigado

  26. Renato said

    Desculpa ficar enxendo aqui de propaganda, mas é que to loko pra resolver esse problema.
    Agora descobrir outra coisa. Minha porta 1194 nao esta com status de ouvindo no meu fedora, eu rodei o comando netstat -l aparece a conexao udp:openvpn e no stat ela esta sem nada, e tem outras portas acima marcada como ouça.

    Como faço para fazer a porta 1194 ficar com status de oucá?

    Abss

    • Renato said

      Conseguir fazer uma coisa, que creio q funcione, ao inves de usar a porta udp, estou a utilizar a tcp. e ta tudo rodando, irei testar e posto minha conf pra vcs verem.
      Abss

  27. Rui said

    Ola,

    Eu ja tenho a VPN a funcionar. Agora queria um ftp ou servidor web a funcionar apenas pela VPN.

    Ja instalei isso na maquina ubuntu, mas agora nao sei como configurar e na internet nao encontrei nada de especial, pode dar uma ajuda?

    Muito obrigado por esse tutorial , está magnifico

  28. Renato said

    Aa vpn aqui nao funciona de jeito nenhum, quando tento conecta fica parado na seguinte mensagem: UDPv4 link remote: 192.168.0.216:1194
    e não sai disso, por que será?

    Abss

    • Se a porta está liberada, provavelmente a outra ponta da conexão não está funcionando normalmente.

      • Renato said

        Vagner da uma olhada no resultado do comando nmap -sTUR -v -p 1194 -PO 192.168.0.6:
        1194/tcp closed
        1194/udp open/filtered
        e para o meu ip publico, que é fixo, rodei o mesmo comando e o resultado é o mesmo:
        1194/tcp closed
        1194/udp open/filtered

        Esse open/filtered quer dizer oq? q esta livre porem filtrada?

        Vlww

      • Renato,

        Significa que esta porta está liberada por um firewall.

        Verifica se o redirecionamento da porta 1194 está sendo feito para o IP interno do servidor de VPN.

        Vagner.

  29. Renato said

    Entao Vagner, meu roteador é um Linksys WRT54G, eu direcionei a porta 1194 para o ip 192.168.0.6 que é o meu ip do servidor de vpn, esse redirecionamento eu fiz dentro do roteador. olhe essa imagem e veja como fiz a liberacao http://cid-f642d0f9d8fccdf1.office.live.com/self.aspx/.Public/router.png

    Meu arquivo da matriz esta assim:
    dev tun
    port 1194
    proto udp
    ca keys/ca.crt
    cert keys/matriz.crt
    key keys/matriz.key
    dh keys/dh1024.pem
    server 192.168.255.0 255.255.255.0
    push “route 192.168.0.5 255.255.255.0”
    comp-lzo
    keepalive 10 120
    float
    max-clients 10
    persist-key
    persist-tun
    log-append /var/log/openvpn.log
    verb 6
    tls-server
    status /var/log/openvpn.stats

    Esta correto?

    Meu cliente esta assim:

    dev tun
    proto udp
    port 1194
    remote 192.168.0.6
    ifconfig 192.168.255.2 192.168.255.1
    ca ca.crt
    cert cliente.crt
    key cliente.key
    tls-client
    keepalive 10 120
    comp-lzo
    user nobody
    user nogroup
    persist-tun
    persist-key
    verb 3

    No cliente quando coloco meu ip fixo, agora fica aparecendo a msg: TLS Error: client->client or server->server connection attempted from ip-fixo:1194

    Ele nao esta identificando o meu ip interno definido no router.

    Nossa nao sei mais oq fazer, me da uma luz ai.

    • Renato said

      Faltou um detalhe, a conexao apenas nao funciona quando estou fora da rede, quando deixo o ip interno no openvpn ele funfa vlz.

    • Renato,

      Quando você está fora da rede é preciso que o cliente utilize na variáve remote o IP de internet da matriz. Fora que como cliente você não está utilizando a VPN com certificados, utilize como modelo o arquivo de vendedor1.conf que passei pois como você não está usando os certificados ele não reconhece o TLS.

      Vagner

      • Renato said

        esse sao os certificados, se sim estao na conf do cliente sim.
        ca ca.crt
        cert cliente.crt
        minha conf esta identica a sua. a unica coisa q muda é a porta, pois se eu coloca a porta 6999 no fedora na hora de iniciar o servico da vpn ele da falha.

      • Renato,

        já tentou usando o método ifconfig no servidor e no cliente?
        Você está usando o método apenas no cliente.

        Vagner

  30. Renato said

    Vagner,
    Fiz o seguinte teste.

    Eu tenho ip fixo, porem tentei o acesso atraves do meu dyndns q instalei no servidor, e no meu cliente adicionei o meu endereco do dyndns. Agora esta conectando, porem eu ainda estou na mesma rede, irei testar de fora da rede. Mas é estranho agora, pq ele reconhece o meu dominio dyndns e direciona para o servidor de vpn, porem quando adiciono o ip ele nao direciona e da erro, (mesmo adicionando o ifconfig no server tbm).

    Obrigado

  31. Renato said

    Vagner, creio que agora voce pode me ajudar, mexi em muitas coisas aqui. e agora da uma olhada no aparece no meu openvpn:
    Wed Jun 15 08:29:13 2011 TCP/UDP: Incoming packet rejected from 192.168.0.6:1194[2], expected peer address: 200.200.102.12:1194 (allow this incoming source address/port by removing –remote or adding –float)

    Oq é isso?

    Aabss

  32. Renato said

    Ola Vagner, deu certo cara, conseguir me conectar, eu refiz todas as liberacoes no meu server e funcionou.

    Vlw por toda a ajuda

  33. Vagner, tira uma duvida se possivel. Na linha -> ifconfig 192.168.255.2 192.168.255.1
    defini com quem eu terei acesso na minha rede, no casso eu terei acesso apenas a Matriz onde esta o servidor do openvpn. Mas vamos supoer que eu precise de acesso ao servidor de dominio (192.168.0.2), eu posso remover o ip 192.168.255.1 do ifconfig ou terei q reserva uma faixa de ip no meu dhcp para adinionar na vpn.

    Vlwww

    • Se é para acessar uma máquina que está na rede atrás da VPN então o que deve ser feito é o roteamento, regras de rotas permitem que as pontas da vpn funcionem como roteadores entre as redes que estão na matriz e na filial.

      • Entao, aqui eu so tenho uma matrix, o acesso será feito apenas por mim e meu superior.
        Esse rotemaamento é feito no arquivo de configuracao da vpn?

        Vlwww

  34. Renato said

    Ola Vagner.
    Entao eu tenho q criar uma rota dizendo que meu roteador da vpn é a ponta da vpn no caso 192.168.255.1 e 192.168.255.2.
    Essa rota ficaria assim route net -add 192.168.255.0/24 netmask 255.255.255.0 gw 192.168.255.1

    Abs

  35. Renato said

    minha tabela atualemten esta assim:
    Tabela de Roteamento IP do Kernel
    Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
    192.168.255.2 * 255.255.255.255 UH 0 0 0 tun0
    192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
    192.168.255.0 192.168.255.2 255.255.255.0 UG 0 0 0 tun0
    default 192.168.0.5 0.0.0.0 UG 0 0 0 eth0

  36. Renato said

    Entao devo fazer a rota do meu Windows (dominio) para o server onde esta a vpn, é isso mesmo?
    caso seja isso, devo fazer algo do tipo route add 192.168.255.0 mask 255.255.255.0 192.168.0.2 (dominio windows) metric 2

    Desculpa ficar perguntando isso é que nao sei nada de roteamento e na net nao se acha nenhum material bom!

    vlwww

  37. Thiago said

    Cara teria como você disponibilizar os arquivos
    ca.crt
    cliente.crt
    cliente.key

  38. servidor_11ciaecmbl@hotmail.com said

    Estamos com problemas para conectar o cliente à matriz.

    conf. da matriz:

    # Dispositivo usado pela VPN
    dev tun
    # Porta usada para conexão
    port 443
    # Protocolo de conexão
    proto tcp-server
    # Certificado da CA
    ca keys/ca.crt
    # Certificado do Servidor de VPN (Matriz)
    cert keys/matriz.crt
    # Chave usada pela matriz
    key keys/matriz.key
    # Chave Diffie-Hellman
    dh keys/dh1024.pem
    # Rede usada pela VPN (Matriz 192.168.255.1 e os clientes a partir de 192.168.255.2)
    server 192.168.255.0 255.255.255.0
    # Rota usada pelos clientes para acessar a rede da matriz
    push “route 10.12.244.0 255.255.255.0”
    # Envia um ping a cada 10 segundos e cancela a conexão se não houver resposta em 120 segundos
    keepalive 10 120
    # Máximo de clientes conectados simultaneamente
    max-clients 15
    # Compressão usando lzma
    comp-lzo
    # Usuário e grupo que o openvpn usará para ser executado
    user nobody
    group nogroup
    # Manter a chave e os túneis persistentes
    persist-key
    persist-tun
    # Nível de Log.
    verb 3

    conf do cliente:

    # Dispositivo usado pela VPN
    dev tun
    # Porta usada para conexão
    port 443
    # Protocolo de conexão
    proto tcp-client
    # Endereço de IP (REAL) da matriz para os clientes fecharem a conexão
    remote 189.111.200.72
    # Endereço usado pelo cliente e o endereço que deve ser procurado no servidor
    ifconfig 192.168.255.2 192.168.255.1
    # Certificado da CA
    ca ca.crt
    # Certificado do cliente
    cert usuario.crt
    # Chave do cliente
    key usuario.key
    # No Windows é preciso especificar que ele é cliente de TLS
    tls-client
    # Envia um ping a cada 10 segundos e cancela a conexão se não houver resposta em 120 segundos
    keepalive 10 120
    # Compressão usando lzma
    comp-lzo
    # Usuário e grupo que o openvpn usará para ser executado
    user nobody
    group nogroup
    # Manter a chave e os túneis persistentes
    persist-key
    persist-tun
    # Nível de Log.
    verb 3

    o IP externo do meu servidor é 189.111.200.72, e a rede interna 10.12.244.0/24, tem algum erro na configuração que impeça a conexão?
    Nesse mesmo servidor, trabalhamos com servidor proxy e firewall, isso influencia alguma coisa?

    • Servidor ??? 😉
      Ou você usa o ifconfig nos dois arquivos e estabelece os IP que a VPN possui nas duas pontas, ou usa a opção “server” dentro do arquivo e deixa o servidor expecificar os IP dos clientes.

      Vagner Fonseca

  39. Renato said

    Pessoal, conseguir fazer minha vpn funfa perfeito, graças a ajuda do Vagner, e encontrei tambem umas dicas no site, http://www.renasti.com.br

  40. Pedro Ernesto said

    os arquivos ca.cert server.crt uma vez criados podem ser utilizados em outra maquina?

    • Pedro,

      Podem sim, apenas lembrando que você tem que permitir no servidor a diretiva “duplicate-cn” no arquivo de configuração do servidor para permitir que mais de um cliente utilize o mesmo certificado.

      Abraços.

  41. Pedro Ernesto said

    Rapaz a coisa aqui está muito estranha. meus arquivos de configuração estão iguais aos do video. a conexão se inicializa ( Fica verde no windows) mas nao há comunicação entre as pontas do tunel. Firewall está com politica padrão accept e não tem mais nenhuma regras. Tem isso no log do cliente:

    Thu Sep 01 00:54:56 2011 NOTE: –user option is not implemented on Windows
    Thu Sep 01 00:54:56 2011 NOTE: –group option is not implemented on Windows

    Thu Sep 01 00:54:57 2011 WARNING: ‘ifconfig’ is present in local config but missing in remote config, local=’ifconfig 192.168.255.2 192.168.255.1′

    sao os unicos erros

    nao pinga em nennhum dos lados, nenhuma das pontas, windows ta com firewall destativado tbm.

  42. Pedro Ernesto said

    Acabei de resolver colocando

    pull no arquivo de configuração do cliente ao invez de ifconfig

  43. Pedro Ernesto said

    Vi em outros tutoriais que algumas pessoas colocam “dh dh1024.pem” e copiam tambem o arquivo para lado do cliente, deve ser feito de qual jeito?

    • Pedro,

      O arquivo dh1024.pem é a chave gerada pelo algoritmo diffie-hellman, usado para dar mais segurança na troca de chaves iniciais, deve ser gerado junto com os scripts que geram as chaves: ./build-dh

      Pode usá-lo ou não, sendo que usá-lo melhora a segurança da troca inicial de dados.

      Abraços.

  44. Lucas Prates said

    Olá Vagner, primeiramente parabéns pelo tutorial.
    Consegui fazer funcionar.
    Só estou com um problema…Quando o cliente se conecta a VPN ele ficam sem acesso a internet.
    Sabe como isto pode ser resolvido?
    Antigamente nas VPNs Windows desmarcávamos a opção utilizar gateway padrão na discagem e o problema não ocorria mais.

    Grande abraço

  45. Olá, eu segui essa metodologia e funcionou normalmente os clientes conseguem pigar a rede da vpn tranquilo, porem o servidor não pinga os clientes, e o servidor esta levantando rota para os clientes normalmente.

  46. Alberto said

    Oi, eu configurei minha rede conforme os arquivos abaixo, eu ate conecto e navego no servidor do openvpn 192.168.0.6, porem nao consigo pingar os outros ips da rede na faixa 192.168.0.* onde eu errei na configuracao de rota, vlw pela ajuda.

    #Config Cliente
    dev tun
    remote 200.168.59.111
    proto udp
    port 1194
    tls-client
    duplicate-cn
    auth-user-pass
    pull
    ca ca.crt
    cert cliente.crt
    key cliente.key
    keepalive 10 120
    comp-lzo
    user nobody
    user nogroup
    persist-tun
    persist-key
    resolv-retry infinite
    verb 3
    script-security 2 system
    route add 192.168.0.0 mask 255.255.255.0 192.168.255.0

    #Config Server
    dev tun
    port 1194
    proto udp
    ca keys/ca.crt
    cert keys/matriz.crt
    key keys/matriz.key
    dh keys/dh1024.pem
    server 192.168.255.0 255.255.255.0
    push “route 192.168.0.0 255.255.255.0”
    comp-lzo
    keepalive 10 120
    float
    max-clients 10
    persist-key

    • Os IPs da VPN não podem ser do mesmo escopo de rede da Matriz nem da da Filial. Os IPs que você usa devem ser de outras redes e as rotas tem que ser para as Redes da Matriz e Filial que são diferentes entre si.

      • Alberto said

        Quando vc diz os IPs da VPN, esta dizendo o ip do meu servidor? ou os ips que definir no arquivo de configuração?
        Pois no arquivo de configuracao definir o ip 192.168.255.0.

        Vlww

      • Jorge Cruz said

        Amigao, estou com o mesmo problema do Alberto, tenho meu server vpn de ip 192.168.0.2 configurado na vpn como 192.168.255.0 (conforme sua video aula) e meu cliente esta na rede 192.168.1.1, ele consegue logar porem no pinga o ip do server vpn. voce poderia postar um exemplo de como deve ser feito este roteamento, pelo menos a lógica.

        Valeuuuuu

      • Jorge,

        Ainda não entendi seu ambiente, quais os IP das Redes (matriz e filial) e quais os usados nos túneis (ponta matriz e ponta filial)? Assim posso ter idéia do que é possível fazer.

      • Jorge Cruz said

        Minha rede é 192.168.0.0/24 ip real da vpn 192.168.0.6 ip do tunel 192.168.255.2 conforme definido em sua video aula, no meu cliente defino a seguinte rota route add 192.168.0.0 mask 255.255.255.0 192.168.255.0
        Porem com esta rota eu consigo apenas pingar o server 192.168.0.6 (server vpn) e outros ip’s da minha rede 192.168.0.0/24 ñ estou pingando, saberia me dizer o pq.

        Valeuuu

      • Jorge,

        Me parece que o problema é com sua rota, ele deve ficar assim no arquivo da VPN:
        route 192.168.0.0 255.255.255.0 192.168.255.2
        Não pode ser 192.168.255.0 (isso é endereço de Rede e não IP de um gateway)
        Lembre-se que tem que ter rota nos dois servidores de VPN para comunicação ida e volta.

      • Jorge,

        Apaguei seu comentário pois tinha muita informação particular sua que acho que não deva ser mostrada. Pelo que entendi o Servidor tem uma rede 192.168.0.0/24 e seu IP interno é 192.168.0.6, você utiliza como ip do túnel 192.168.255.2 no servidor e a partir daí nos clientes. O que acontece é que se o servidor vai rotear para redes que existam nos clientes eles não precisa de rota, os clientes é que devem ter a rota: route 192.168.0.0 255.255.255.0 192.168.255.2 (lembrando que o IP dos clientes devem ter IP de túnel 192.168.255.X ). Lembrando que no modo que eu ensinei você tem que criar um túnel (com IP e porta diferente dos outros) para cada cliente(um arquivo por túnel), assim cada um terá uma porta específica e rotas nos arquivos. Só não entendi nos seus logs quem é 10.25.32.55, parece que é esse endereço que está dando erro.

        Pretendo fazer em breve, um artigo sobre roteamento no Linux (tem muitas dúvidas nos comentários que são apenas sobre roteamento) e outro sobre VPN multiponto com OpenVPN, assim teremos a oportunidade de criar um servidor com um arquivo apenas que distribui IP para seus diversos clientes.

      • Jorge Cruz said

        Vagner, então ta tudo certo na minha configuracao, pois o roteamento estou fazendo apenas no cliente mesmo. Agora esse ip 10.25.32.55 é de uma rede de outra empresa que trabalho, porem nao entendo porque aparece no log do openvpn, esse ip é de um servidor linux tbm, mas tipo conectei apenas uma vez nele via ssh e nao fiz mais nada, muito estranho.

        Valeu pela ajuda e um tutorial sobre roteamento seria muito interessante a internet é muito carente de tutoriais bons e ainda mais sobre roteamento.

        Obrigado

  47. Atylla Gomes said

    Caro Vagner fiz tudo certinho como segue no tutorial mas estou com um problema, nao consigo pingar a matriz, creio que seja um problema de rota pois nao sei como configurar a rota, deixei por padrao essa da sua configuração push “route 10.0.0.0 255.255.255.0”, estou usando um servidor dedicado para rodar a vpn, meu objetivo é navegar atravez do ip do servidor dedicado, abraço e obrigado.

    • Tem como você mandar um diagrama das suas redes(com IP) e quais ip de VPN você usa?

      • Atylla Gomes said

        O ip 201.33.22.22 é o que instalei o openvpn e atribui o ip do tutorial 192.168.254.1, esse ip é fixo e é de um servidor dedicado, meu ip externo é 177.19.111.128, e a faixa de ip do roteador vai de 192.168.0.1 a 192.168.0.254 onde a maquinha que instalei o openvpnwin é de ip 192.168.0.111 que atribui o ip 192.168.254.2, como já havia falado consigo conectar mais nao consigo pingar entre as maquinas.

    • Atylla,

      Lembre-se que os IP usados pelos túneis da VPN são diferentes dos usados nas redes, exemplo:
      Matriz 192.168.1.0/24 e Filial 192.168.2.0/24, os IP usados nos túneis seriam por exemplo 172.16.1.1 e 172.16.1.2 (matriz e filial respectivamente), o roteamento seria assim:
      No conf da matriz: route 192.168.2.0 255.255.255.0 172.16.1.2
      No conf da filial: route 192.168.1.0 255.255.255.0 172.16.1.1
      Lembrando que não deve possuir nenhum IP como os da VPN em suas redes.

  48. Poxa amigo como eu faço pra conectar a vpn no linux??? desde ja grato

  49. Allan said

    Caro Vagner,

    Parabéns pelo tutorial de boa qualidade!

  50. Allan said

    Vagner,

    Grande, gostaria que você me desse o norte, não tenho intenção de ficar sugando. Minha intenção com VPN, bem um dos é com meu notebook por meio do 3G acessar o meu servidor em casa e ter acesso aos meus arquivos, enfim pelo menos pingar os PCs da minha rede de casa. Sugestões fico no aguardo.

    Mais uma vez, parabéns pelo excelente trabalho.

    • Alan,

      O tipo de VPN criado no vídeo server exatamente pra isso, desde que o IP local do notebook seja diferente da rede tudo funcionará perfeitamente, você estará conectado em casa sem estar em casa.

      Vagner.

      • Allan said

        Essa é a configuração do meu servidor:

        # Dispositivo usado pela VPN
        dev tun
        # Porta usada para conexão
        port 6999
        # Protocolo de conexão
        proto udp
        # Certificado da CA
        ca ca.crt
        # Certificado do Servidor de VPN (Matriz)
        cert server.crt
        # Chave usada pela matriz
        key server.key
        # Chave Diffie-Hellman
        dh dh1024.pem
        # Rede usada pela VPN (Servidor 192.168.255.1 e os clientes a partir de 192.168.255.2)
        server 192.168.255.0 255.255.255.0
        # Rota usada pelos clientes para acessar a rede da matriz
        push “route 10.0.0.0 255.255.255.0”
        # Envia um ping a cada 10 segundos e cancela a conexão se não houver resposta em 120 segundos
        keepalive 10 120
        # Máximo de clientes conectados simultaneamente
        max-clients 15
        # Compressão usando lzma
        comp-lzo
        # Usuário e grupo que o openvpn usará para ser executado
        user nobody
        group nogroup
        # Manter a chave e os túneis persistentes
        persist-key
        persist-tun
        # Nível de Log.
        verb 3

        Considerações:

        Conexão é da virtua.

        Roteador Linksys WRT110
        DHCP é atribuido pelo router (10.0.0.1 => Ip para acessar o roteador Subnet Mask 255.255.255.0)

        push route seria para o endereço 10.0.0.0 correto ?

        Cliente:

        # Dispositivo usado pela VPN
        dev tun
        # Porta usada para conexão
        port 6999
        # Protocolo de conexão
        proto udp
        # Endereço de IP (REAL) da matriz para os clientes fecharem a conexão
        remote linuxbr.no-XX.XXX
        # Endereço usado pelo cliente e o endereço que deve ser procurado no servidor
        ifconfig 192.168.255.2 192.168.255.1
        # Certificado da CA
        ca ca.crt
        # Certificado do cliente
        cert jogador3.crt
        # Chave do cliente
        key jogador3.key
        # No Windows é preciso especificar que ele é cliente de TLS
        tls-client
        # Envia um ping a cada 10 segundos e cancela a conexão se não houver resposta em 120 segundos
        keepalive 10 120
        # Compressão usando lzma
        comp-lzo
        # Usuário e grupo que o openvpn usará para ser executado
        user nobody
        group nogroup
        # Manter a chave e os túneis persistentes
        persist-key
        persist-tun
        # Nível de Log.
        verb 3

      • Alan

        Se a rede onde fica o servidor é 10.0.0.0/24 não precisa de “push route ….” no servidor e sim no cliente. Do jeito que você está fazendo nos clientes é melhor utilizar:

        No server: ifconfig 192.168.255.1 192.168.255.2
        e não server 192.168.255.0 255.255.255.0
        No cliente: ifconfig 192.168.255.2 192.168.255.1

  51. Allan said

    Vagner,

    Tentei fazer algo pesquisando por ai.

    Caso haja tempo dê uma olhada no arquivo do servidor http://linuxbr.no-ip.org:8080/tutorial/server.ovpn informações pertinentes, o servidor está na rede 10.0.0.0/24. E também dê uma olhada por aqui => http://linuxbr.no-ip.org:8080/tutorial/jogador3.txt. Não consigo ver o que está errado. Para mim está certissímo….

    • CooperaTI em novo endereço

      Atenção aos que recebem essa mensagem e utilizam algum leitor de RSS ou estão apontando para o endereço: rafaelbernardes.wordpress.com ou rafaelbernardes.com.br.

      O CooperaTI está na nuvem da Amazon e talvez seja necessário que vocês atualizem seus leitores de RSS.

      Quem recebia as notificações de posts por email pode ficar tranquilo, a base anterior foi exportada para o novo portal.

      Novo endereço: http://www.cooperati.com.br

  52. Antônio Marcos dos Santos said

    Show de bolas o artigo, logo logo testarei.
    Abraços.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: