Escolar Documentos
Profissional Documentos
Cultura Documentos
Cuiabá/MT
Julho/2010
RENANN VITTORAZI DE ARRUDA
2
Cuiabá/MT
Julho/2010
RENANN VITTORAZI DE ARRUDA
3
Banca Examinadora
Cuiabá/MT
Julho/2010
4
Dedico esse trabalho a minha mãe Maria Terezinha Vittorazi de Arruda, que contribuiu
para minha formação, transformando um sonho em realidade.
5
AGRADECIMENTOS
Aos meus pais e toda minha família que, com muito carinho e apoio, sempre me incentivaram
nos estudos.
Aos professores Valtemir Emerencio e Mônica Crispim, pela paciência e incentivo que
tornaram possível a conclusão desta monografia.
Ao professor e orientador Ed’ Wilson Tavares Ferreira por seu apoio e inspiração no
amadurecimento dos meus conhecimentos e conceitos que me levaram a execução e
conclusão desta monografia.
A Senhora Elizabeth Paiva, mãe do meu amigo Lucas que teve a paciência de me auxiliar na
escrita.
RESUMO
Este trabalho tem o objetivo de coletar dados a partir de métricas estabelecidas para
medir o desempenho do OpenVPN implementado com sistemas operacionais Windows e
Linux. A metodologia utilizada foi desenvolvida a partir de dois cenários, o primeiro foi a
configuração de um servidor implementado com Windows Server 2008, se comunicando com
um cliente cujo sistema operacional é Windows 7, através de enlaces ADSL pessoais de
2Mbps, com a finalidade de troca de dados. No segundo foi implementada a mesma topologia
do primeiro cenário, mas com sistemas operacionais Linux, sendo o Debian lenny 5.0 o
servidor e o Ubuntu 10.4 o cliente.
O OpenVPN foi escolhido para criar a rede privada virtual porque é uma solução
robusta e muito simples de se instalar em qualquer arquitetura de rede, pois não envolve
diretamente o sistema operacional e está disponível para as plataformas Linux e Windows.
Após medir o desempenho dos ambientes Linux e Windows a partir de métricas
estabelecidas concluí-se que o servidor Debian Lenny 5.0, obteve um desempenho superior ao
Windows Server 2008. No quesito consumo de memória RAM ambos tiveram o mesmo
desempenho, no consumo de processamento o Linux utilizou 1% a menos de processamento
do que o servidor Windows, já na taxa de transferência efetiva ou vazão, o Linux obteve um
desempenho melhor que o Windows, em consequência disso o Debian apresentou um tempo
menor entre o início de uma atividade e sua conclusão.
LISTA DE ILUSTRAÇÕES
LZO: Lempel-Ziv-Oberhumer.
MB: Megabyte.
SUMÁRIO
1. INTRODUÇÃO....................................................................................................................12
1.1 Objetivos.........................................................................................................................13
1.2 Justificativa......................................................................................................................13
1.3 Metodologia....................................................................................................................13
4.3.1 LAN-to-LAN...........................................................................................................18
4.3.2 Client-to-LAN..........................................................................................................19
4.4 Tunelamento....................................................................................................................19
4.6 Segurança........................................................................................................................22
5. OPenVPN..............................................................................................................................24
6. CENÁRIO DE IMPLEMENTAÇÃO...................................................................................25
10. CONCLUSÕES..................................................................................................................38
11 . REFERÊNCIAS BIBLIOGRÁFICAS...............................................................................39
12
1. INTRODUÇÃO
Uma das grandes vantagens decorrentes do uso das VPNs é a redução de custos com
comunicações corporativas, pois elimina a necessidade de enlaces dedicados de longa
distância que podem ser substituídos pela Internet. As LANs podem através de enlaces
dedicados ou discados, conectarem-se a algum provedor de acesso local e interligar-se a
outras LANs, possibilitando o fluxo de dados através da Internet. Esta solução pode ser
bastante interessante sob o ponto de vista econômico.
O OpenVPN é um software livre para criar redes privadas virtuais do tipo ponto-a-ponto
ou ponto para multiponto, através de túneis criptografados entre computadores. É capaz de
estabelecer conexões diretas entre computadores mesmo que estes estejam utilizando NAT,
sem necessidade de reconfiguração da sua rede. Ele foi escrito por James Yonan e publicado
sob licença GPL.
13
1.1 Objetivos
Este trabalho tem por objetivo medir o desempenho entre os servidores de VPN
implementados em Windows e Linux. O uso do tunelamento nas VPNs incorpora um novo
componente a esta técnica: antes de encapsular o pacote que será transportado, este é
criptografado de forma a ficar legível apenas pelo receptor, caso seja interceptado durante o
seu transporte. O pacote criptografado é encapsulado e transferido através da Internet até
alcançar seu destino onde é desencapsulado e descriptografado, retornando ao seu formato
original.
1.2 Justificativa
1.3 Metodologia
2008, que estava se comunicando com um cliente cujo sistema operacional é Windows 7,
através de enlaces ADSL pessoais de 2Mbps, com a finalidade de troca de dados.
Após a montagem da topologia, foi instalado e configurado o OpenVPN, tanto no
servidor como no cliente.
Logo após a configuração do cenário, o servidor e seu cliente compartilharam um dado
de 16MB via FTP, e em seguida o OpenVPN foi ativado para que houve a mesma troca de
dado, só que agora através do tunelamento criado pela VPN, para coletar as medidas de
desempenho desejadas. O FTP foi escolhido para o compartilhamento de dado, porque é uma
tecnologia simples de ser instalada.
Segundo cenário: Foi implementada a mesma topologia do primeiro cenário, mas
houve a troca dos sistemas operacionais do servidor e do cliente para Debian lenny 5.0 e
Ubuntu 10.4, com a finalidade de caracterizar um ambiente Linux.
Alguns critérios de configurações foram adotados nos dois cenários, para que não
houvesse desvantagem no desempenho.
Os servidores tiveram a mesma configuração de hardware.
Os clientes tiveram a mesma configuração de hardware.
Todos os sistemas operacionais utilizaram interface gráfica.
Não foi utilizado firewall nos experimentos.
Foi utilizado o OpenVpn, para criar o tunelamento.
A VPN é do tipo Cliente-para-LAN.
Obter dados relevantes, para comparar o desempenho entre os servidores de VPN com
sistemas operacionais distintos.
15
Segundo o site oficial da Microsoft, o sistema operacional foi desenvolvido por ela em
27 de Fevereiro de 2008, também conhecido como Server Longhorn, é o sucessor do
Windows Server 2003, para o ambiente corporativo. O Windows Server 2008 é muito utilizado
atualmente, porque fornece uma plataforma de servidor estável e de menor custo, contendo
aprimoramentos em recursos como virtualização e gerenciamento de energia.
Ele proporciona aos profissionais de TI maior controle sobre o servidor e a
infraestrutura de rede, fornecendo uma plataforma de nível corporativo para lidar com cargas
de trabalho de maneira ainda mais eficiente a partir de um melhor gerenciamento, maior
tempo de disponibilidade e alta produtividade de funcionários em locais remotos.
. Caracteriza-se pela facilidade de implantação e gerenciamento, focado para construir
ambientes seguros de TI e flexível, pois fornece uma infraestrutura de aplicações para
construir rapidamente soluções de redes.
Um dos principais motivos na escolha do sistema operacional foi porque o Windows
Server 2008 fornece grande melhoria ao sistema operacional base, se comparado ao Windows
Server 2003. Dentre as melhorias destacam-se o subsistema de rede, os recursos avançados de
segurança, o acesso remoto de aplicações, o gerenciamento centralizado de função de
servidor, as ferramentas de monitoramento de confiabilidade e desempenho, a implantação e o
sistema de arquivos, entre outras. Outro motivo foi pelo grande conhecimento em Windows
Server, adquirido no curso de redes de computador.
software prontos para instalação e uso. Centra-se em estabilidade e segurança e é usado como
base para muitas outras distribuições.
É conhecido por relativamente à estrita observância do Unix e software livre filosofias
bem como a utilização de desenvolvimento de software de colaboração e processos de teste.
Debian pode ser usado como um desktop, bem como servidor de sistema operacional
Segundo o site oficial do Debian, o sistema operacional pode ser executado em quase
todos os computadores pessoais, incluindo os mais antigos. Cada novo lançamento do Debian
geralmente suporta um número maior de arquiteturas. Atualmente é produzido por
aproximadamente mil desenvolvedores ativos espalhados pelo mundo que são voluntários em
seu tempo livre.
O principal motivo pela escolha do Debian Lenny 5.0, foi porque trabalho com
sistemas operacionais baseados em Debian, e o outro motivo é porque o Debian é bastante
estável, e isso faz dele um ótimo sistema operacional para servidores. É uma distribuição que
demora anos para ser publicada oficialmente, pois pessoas do mundo todo trabalham para que
as novas versões entrem no mercado com o mínimo de erros possíveis.
17
Virtual, pelo fato de ser uma rede dinâmica, com conexões realizadas de acordo com
as necessidades da organização e também pelo fato de ser uma rede construída
logicamente, não dependendo da estrutura física da rede usada (no caso, a Internet).
18
Diferente de linhas dedicadas, uma VPN não mantém conexões permanentes entre os
nós que compõem a rede corporativa. Quando uma comunicação entre dois nós se
torna necessária, ela é criada; quando não é mais necessária, ela é desfeita, deixando a
largura de banda e outros recursos de rede disponíveis para outros usos.
Rede, porque utilizando a infraestrutura da Internet (uma WAN de fato) não há outras
soluções que estejam à altura do potencial de uma VPN em prover cobertura global e a
habilidade de criar extranets, de forma viável e econômica.
4.3.1 LAN-to-LAN
4.3.2 Client-to-LAN
A figura 2 ilustra a conexão de um host a uma rede. É uma conexão típica de empresas
que possuem vendedores fora das suas dependências e estes precisam acessar a rede da
empresa enquanto estão fora, como por exemplo, ao realizar uma venda ele se conecta a rede
da empresa e ao confirmar a venda no sistema da empresa o vendedor já poderia disparar
processos para o setor de produção e iniciar o processo de fabricação dos produtos o que
reduziria o tempo de entrega (Sarlo, 2003).
4.4 Tunelamento
privada num escritório filial desejam acessar informações em um servidor na rede interna de
sua matriz no exterior e toda a corporação (matriz e suas filiais) emprega túneis de VPN em
suas comunicações.
Os clientes fazem a requisição a um servidor de VPN local. Este servidor de origem
criptografa os dados e cria o cabeçalho de túnel especificando os endereços de destino. Ao
chegar o cliente de destino da filial, descriptografa e desencapsula a mensagem original
retirando o cabeçalho de túnel e entrega para o destinatário.
Os túneis podem ser estáticos ou dinâmicos: Túneis estáticos, que permanecem ativos
por longos períodos de tempo, são mais apropriados para VPNs LAN-to-LAN enquanto que
túneis dinâmicos, ativos apenas quando o tráfego é necessário, são mais seguros para VPNs
Client-to-LAN.
Quanto à abertura da sessão de túnel, existem duas classificações: tunelamento
voluntário e tunelamento compulsório. No tunelamento voluntário, é o usuário quem solicita a
configuração e criação do túnel. Neste caso, o próprio usuário atua como extremidade do
túnel (Sarlo, 2003). Já no tunelamento compulsório, quem cria o túnel é um servidor de
acesso remoto, localizado entre o usuário e o servidor de destino e que age como extremidade
do túnel. O termo compulsório vem do fato do cliente ser induzido a utilizar um túnel criado
pelo servidor.
21
4.6 Segurança
disponíveis para manter os dados transmitidos estritamente confidenciais assim como evitar
que usuários não autorizados consigam acessar os recursos internos das redes privadas (Sarlo,
2003).
5. OpenVPN
6. CENÁRIO DE IMPLEMENTAÇÃO
A VPN foi implementada encima de enlaces ADSL de 2Mbps para testar a taxa de
transferência efetiva do sistema.
O Ttcp simulou uma carga de 16777217 bytes, o mesmo que um dado de 16MB e
obteve uma taxa de transferência de 34.51KBps, como ilustra a figura 12.
Figura 13: Tempo decorrido na VPN Windows, entre o inicio de atividade e sua conclusão.
31
O Ttcp simulou uma carga de 16MB e obteve uma taxa de transferência de 39.01
KBps, como ilustra a figura 18.
Figura 19: Tempo decorrido na VPN Linux, entre o início de uma atividade e a sua conclusão.
35
Figura 20: Consumo de memória RAM Linux. Figura 21: Consumo de memória RAM
Windows.
Figura 22: Utilização de CPU Linux. Figura 21: Utilização de CPU Windows.
36
37
Figura 23: Comparação dos tempos decorridos entre o inicio de uma atividade e sua conclusão.
10. CONCLUSÕES
11 . REFERÊNCIAS BIBLIOGRÁFICAS
DIERKS, T.; ALLEN, C. The TLS Protocol Version 1.0. RFC 2246, 1999.
HOSNER, C. OpenVPN and the SSL VPN Revolution. SANS Institute, 2004. Disponível
em: <http://www.sans.org/reading_room/whitepapers/vpns/1459.php>, Acesso: 23 Julho de
2010.
SARLO, L,S. Virtual Private Network. Aprenda a construir redes privadas virtuais em
plataformas Linux e Windows. Rio de Janeiro: Editora Novatec, 2003.
$./ovpn-init
Ex: https://ip_do_servidor:Porta/admin
5. Obtenha uma chave de licença direto do site oficial, e ative o OpenVpn através da
interface WEB Admin.
# Escolher a porta
port 5001
#Escolher o protocolo
Proto tcp-server
# Escolher a porta
port 5001
#Escolher o protocolo
Proto tcp-client
44
# Escolher a porta
port 5001
#Escolher o protocolo
Proto tcp-server
Remote fulano.no-ip.org
# Apontar como interface o driver TUN/TAP
dev tap
# 192.168.0.1 ip que será assumido na matriz
# 192.168.0.2 ip remoto, ou seja, esse será o ip da filial
ifconfig 192.168.0.2 255.255.255.0
# Escolher a porta
port 5001
#Escolher o protocolo
Proto tcp-client