Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Pessoal, boa noite!

    Estou quebrando a cabeça aqui com uma configuração de VPN com o OpenVPN, gostaria de pedir ajuda de vocês, abaixo vou descrever tudo o que foi feito até o momento, se tiver algo errado me mostrem por favor.

    Estou configurando para interligar duas empresas de cidades diferentes, ambas utilizam conexão ADSL com IP Dinâmico, sendo assim, criei uma conta no NO-IP e instalei o aplicativo na Matriz, segue abaixo as configurações que foram feitas no servidor Firewall/Proxy de ambas as empresas.

    Configurações de IP's da loja matriz
    Código :
    IP Rede Local: 192.168.0.0/24
    Gateway: 192.168.0.1
    VPN: 10.0.0.0/16

    Configurações de IP's da loja filial
    Código :
    IP Rede Local: 192.168.1.0/24
    Gateway: 192.168.1.1
    VPN: 10.1.0.0/16

    Foram feitas as seguintes configurações nos servidores da matriz e da filial:

    1º Passo: instalação da biblioteca lzo:
    download: http://www.oberhumer.com/opensource/...zo-2.04.tar.gz
    descompactar:
    Código :
    # tar -zxvf lzo-2.04.tar.gz
    em seguida, dentro do diretório descompactado, foi executado os seguintes comandos:
    Código :
    # ./configure
    # make
    # make install
    # ldconfig

    O processo foi feito com sucesso.

    2º Passo: instalação do OpenVPN
    download: http://swupdate.openvpn.net/communit...n-2.1.4.tar.gz
    descompactar:
    Código :
    # tar -zxvf openvpn-2.1.4.tar.gz
    em seguida, dentro do diretório descompactado, foi executado os seguintes comandos:
    Código :
    # ./configure
    # make
    # make install

    O processo foi feito com sucesso

    Após as instalações acima, deu-se início a configuração da VPN:
    Foi criado um diretório com o nome openvpn, dentro do diretório /etc
    Código :
    # mkdir /etc/openvpn

    dentro do diretório, openvpn foi criada a chave de criptografia, com o comando:
    Código :
    # openvpn --genkey --secret chave.key

    Logo após foi criado o arquivo de configuração, com o seguinte conteúdo:
    Código :
    # Arquivo de Configuração simples (Matriz)
    #
    proto udp
    dev tun
    ifconfig 10.0.0.0 10.1.0.0
    secret /etc/openvpn/chave.key
    port 5900

    Todo o procedimento acima feito no servidor da Matriz foi feito também no servidor da Filial, exceto o arquivo de configuração que foi configurado conforme abaixo:
    Código :
    # Arquivo de Configuração simples (Filial)
    #
    proto udp
    remote matrizac.no-ip.info
    dev tun
    ifconfig 10.1.0.0 10.0.0.0
    secret /etc/openvpn/chave.key
    port 5900

    Após estas configurações, foi criada uma conta no site do No-IP - Dynamic DNS, Static DNS for Your Dynamic IP e um host com o IP dinâmico da Matriz. Depois feita a instalação do aplicativo NO-IP
    no servidor da Matriz, com o endereço 'matrizac.no-ip.info' e iniciado o serviço do NO-IP.

    Foi executado o seguinte comando no servidor Matriz:
    Código :
    # openvpn --config /etc/openvpn/matriz.conf &

    e depois o mesmo comando no servidor Filial
    Código :
    # openvpn --config /etc/openvpn/filial.conf &

    Após executar os comandos acima, foram criados em cada servidor uma nova interface 'tun0'

    Para finalizar a configuração foram criadas as duas rotas, para a Matriz e Filial, com os seguintes comandos abaixo:

    Matriz:
    Código :
    # route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.1.0.0

    Filial:
    Código :
    # route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.0

    Por fim foram acrescentadas algumas linhas nos Firewalls de ambas Empresas:

    Matriz:
    Código :
    iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
    iptables -A FORWARD -i tun0 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT

    Filial:
    Código :
    iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
    iptables -A FORWARD -i tun0 -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT

    Foram feitas também a liberação da porta 5900 em ambos servidores.

    Fazendo a configuração acima, o correto seria a matriz 'enxergar' a filial e vice-versa, mas quando tento fazer o Ping, nenhuma responde.

    Esta tudo correto com as configurações ou estou errando em algum lugar?

  2. Ola,
    O erro mais comum quando se configura o openvpn eh configura-lo para comunicacao host a host com a opcao:
    ifconfig 10.0.0.0 10.1.0.0 ( com esta opcao tem que ter um tunel para cada cliente conectado na rede ) o correto neste caso é usar:
    server 10.0.0.0 255.255.255.0
    pois isto ira configurar uma rede em comum entre os pontos da vpn, ou seja, um unico tunel para todos os clientes.
    Para que os clientes da vpn enxerguem a rede da matriz eh preciso o comando:
    push "route 192.168.0.0 255.255.255.0"
    Para que o servidor reconheca as redes atras dos clientes eh preciso usar a opcao ccd:
    client-config-dir ccd
    Bem como dizer as redes dos clientes:
    route 192.168.1.0 255.255.255.0

    Agora na sua configuracao soh tem um probleminha, para o ccd funcionar, vc tem que usar gerar um arquivo de controle individual para cada cliente, o arquivo que tem extensao .crt, com isto feito, dentro do diretorio ccd, crie um arquivo com o mesmo nome do arquivo .crt usado no cliente com o seguinte conteudo:
    iroute 192.168.1.0 255.255.255.0
    Por exemplo:
    criar chave e crt para o cliente com o nome filial01
    e no diretorio ccd, criar um arquivo com o nome filial01



  3. Tambem para o ccd funcionar vc precisa usar certificados tanto no servidor como no cliente, no tutorial do openvpn tem como gerar os certificados, segue abaixo como seria sua configuracao para usar certificados:

    ### matriz.conf
    port 5900
    proto udp
    dev tun
    # Certificados gerados
    ca ca.crt
    cert server.crt
    key server.key
    dh dh1024.pem
    server 10.0.0.0 255.255.255.0
    push "route 192.168.0.0 255.255.255.0"
    client-config-dir ccd
    route 192.168.1.0 255.255.255.0
    # Neste arquivo serão guardados os IPs dos clientes
    # para conectarem com o mesmo IP da proxima vez
    ifconfig-pool-persist ipp.txt
    client-to-client

    # Ative para permitir dois clientes com o mesmo
    # certificado - não recomendável
    ;duplicate-cn
    keepalive 10 120

    # Compressão, privilégios do cliente
    comp-lzo
    max-clients 150
    user nobody
    group nobody

    # Logs e etc
    persist-key
    persist-tun
    status /var/log/openvpn-status.log
    log /var/log/openvpn.log
    log-append /var/log/openvpn.log
    verb 3

    *Obs: nao esquecer que no diretorio ccd tem que ter um arquivo com o nome filial01 com o comando iroute, pois este eh o nome do certificado usado pelo cliente.

    ### filial.conf
    client
    dev tun
    proto udp
    remote matrizac.no-ip.info 5900
    resolv-retry infinite
    nobind

    persist-key
    persist-tun

    ca ca.crt
    cert filial01.crt
    key filial01.key

    ns-cert-type server
    comp-lzo
    verb 3

    status /var/log/openvpn-status.log
    log /var/log/openvpn.log
    log-append /var/log/openvpn.log

    Obs: nao precisa criar rotas, nem fazer mascaramento neste caso
    somente preciso colocar:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    tanto no servidor como no cliente

  4. Primeiramente obrigado pelas respostas, entendi quase tudo o que o Sr. citou, só estou com dúvida com relação a este 'ccd'. O que exatamente o Sr. quis dizer sobre isso?



  5. CCD vem de:
    Client-Config-Dir ccd,
    que eh o diretorio onde ficarao os arquivos que indicam as rotas para cada rede conectada atraves dos clientes da vpn.
    Por exemplo: vamos dizer que vc em uma cidade tenha 3 filiais ( filial01 - 192.168.1.0/24 , filial02 - 192.168.2.0/24 e filial03 - 192.168.3.0/24 ), e que estas filiais sao conectadas entre si por uma rede wireless e uma delas possua conexao com internet. Neste caso a filial que possui a conexao com a internet vai rodar o cliente da vpn e tera o nome de filial01, o certificado gerado no servidor tera o nome de filial01.crt, no diretorio /etc/openvpn/ccd, deve ter um arquivo como o nome filial01, dentro deste arquivo deve ter os comandos:
    iroute 192.168.1.0 255.255.255.0
    iroute 192.168.2.0 255.255.255.0
    iroute 192.168.3.0 255.255.255.0
    pois isto ira indicar ao servidor para rotear para as filiais 02 e 03 a partir da filial 01.

    A opcao do ccd, evita ter que usar os comandos abaixo:

    Matriz:
    Código :
    # route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.1.0.0



    Filial:
    Código :
    # route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.0



    Por fim foram acrescentadas algumas linhas nos Firewalls de ambas Empresas:

    Matriz:
    Código :
    iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE iptables -A FORWARD -i tun0 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT



    Filial:
    Código :
    iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE iptables -A FORWARD -i tun0 -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT






Tópicos Similares

  1. ajuda!!duvida para disca uma vpn usando o mikrotik
    Por maldourado no fórum Servidores de Rede
    Respostas: 0
    Último Post: 12-05-2011, 10:54
  2. Qual produtos para montar uma rede wireless
    Por lucasbrick no fórum Redes
    Respostas: 11
    Último Post: 08-11-2010, 11:31
  3. ajuda para fazer uma rede domestica entre linux é windows
    Por guilhermeribeirocosta no fórum Sistemas Operacionais
    Respostas: 9
    Último Post: 13-06-2008, 13:15
  4. Ajuda para montar uma rede linux
    Por luccosta no fórum Servidores de Rede
    Respostas: 3
    Último Post: 22-11-2005, 07:02
  5. Qual melhor solução para monitorar uma REDE?
    Por ReiserFS no fórum Servidores de Rede
    Respostas: 21
    Último Post: 19-10-2004, 17:21

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L