Índice - Tutoriais

OpenVPN: Criando uma VPN básica

Por Carlos E. Morimoto em 4 de abril de 2008 às 16h45

13

Roteando pacotes através da VPN

Originalmente, o cliente terá acesso apenas ao próprio servidor. Para que ele tenha acesso aos demais hosts da rede, é necessário realizar alguns passos adicionais.

O primeiro é ativar o roteamento de pacotes no servidor, de forma que ele passe a encaminhar os pacotes recebidos do cliente para a interface de rede local. Mesmo que o servidor possua uma única placa de rede, a VPN é vista pelo sistema como uma interface separada, de forma que, do ponto de vista do sistema operacional, a VPN e a rede local são duas placas de rede separadas.

O roteamento é feito usando dois comandos (executados no servidor):

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -s 10.0.0.2 -A POSTROUTING -o eth0 -j MASQUERADE
O primeiro ativa o roteamento de pacotes no Kernel e o segundo orienta o sistema a encaminhar os pacotes recebidos a partir do endereço IP do cliente (10.0.0.2, no exemplo) para a interface de rede local (eth0, no exemplo). Estes dois comandos precisam ser adicionados em algum dos scripts de inicialização do sistema (como o "/etc/rc.local) para que sejam executados a cada boot.

O próximo passo é executar o comando abaixo no cliente, de forma que ele passe a consultar o servidor ao tentar acessar endereços dentro da faixa usada pela rede local:

# route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1 dev tun0
Note que o comando especifica a faixa de endereços usada na rede local (192.168.1.0, no exemplo), a máscara, o endereço IP do servidor do outro lado da VPN e a interface virtual usada pela VPN (tun0).

A partir daí, o cliente conseguirá acessar outros micros da rede, montar compartilhamentos ou até mesmo imprimir em impressoras compartilhadas. É importante notar, entretanto, que se o cliente também estiver conectado a uma rede local (acessando através de uma conexão compartilhada, por exemplo), ela deve utilizar uma faixa diferente de endereços.

:. Leia mais sobre servidores Linux

13 comentáriosPor Carlos E. Morimoto. Revisado 22 de fevereiro de 2011 às 15h34

Comentários

'remote'
por Juan (anônimo) em 5 de outubro de 2010 às 11h47
O que exatamente devo colocar em 'remote'?
Tem algum lugar especifico determinar o nome do servidor, ou deve usar os serviços do no-ip?
Administrador de Redes Linux por Bruno Gomes (anônimo)
Rede interna não pinga na externa
por Daniel (anônimo) em 22 de setembro de 2010 às 19h02
Nossa VPN está de pé, funcionando até certo ponto.
Gostariamos de utilizar o tunel para um acesso remoto, porém não conseguimos a não ser que façamos direto do servidor de dominio WINSERVER2000.
Nossa estrutura é a seguinte:

Rede externa(maquinas windows) <------ VPN(link separado dedicado) ------> WINDOWSSERVER ----> Rede Interna (maquinas windows) ----> Proxy(link separado dedicado)

Os computadores da rede externa acessam o compartilhamento da rede interna numa boa, mais na rede interna só consigo acessar a rede externa através do servidor. RRAS está configurada a faixa de IPs do OPENVPN 192.168.1.0.
Não consegui nenhum resultado satisfatório quando a esse problema.
Administrador de Redes Linux por Bruno Gomes (anônimo)
Varios Clientes aceder à VPN
por Apaxe em 14 de setembro de 2010 às 15h03
Carlos Morimoto parabéns por mais um excelente tutorial seu.

Eu criei uma VPN com autenticação através de uma chave estática e tudo está a funcionar bem desde que ela só seja acedida por um só cliente.

Como eu necessito que vários clientes acedam à VPN criei neles um ficheiro de configuração igual para todos.

O Problema é que quando eles acedem simultaneamente à VPN só o ultimo a ligar é que consegue comunicar com o servidor e os outros deixam de conseguir ligação com o servidor.

Tentei criar um ficheiro de configuração para cada cliente no directório /etc/openvpn do servidor só que pelo que percebi o servidor não aceita mais do que um ficheiro de configuração.

Pergunto-lhe o que tenho de alterar no servidor ou nos clientes para que seja possível aos clientes comunicarem simultaneamente com servidor através da VPN?

Obrigado
Resposta por Daniel (anônimo)
Administrador de Redes Linux por Bruno Gomes (anônimo)
Erro ao subir segunda interface tun cliente
por thiago torres (anônimo) em 29 de junho de 2011 às 08h18
Tenho o seguinte cenário:

tenho um um linuxServidor-01 fechando uma vpn com um linux-cliente que funciona corretamente... Mas surgiu uma necessidade de eu ter outra vpn entre o linuxCliente com outra empresa! Então o meu linux remoto seria cliente de 02 vpns, sendo uma que ja está operando normalmente...
Mas quando crio um novo arquivo de vpncliente.conf no linuxCliente e estabeleço a conexão com o LinuxServidor-02 a conexão com o linuxServidor-01 mantem o túnel mas não trafega mais dados....

O que pode ser isso ?
Show de Bola
por Doidão (anônimo) em 1 de abril de 2011 às 13h22
Perfeito...não tive erro... e deu pra entender perfeitamente.
Problemas
por marcio (anônimo) em 15 de dezembro de 2010 às 12h05
Não sei se aqui é o lugar mais indicado para fazer este tipo de pergunta mas estou encontrando um problema com o openvpn.
Estou executando no windows, como cliente. Neste cenário tem um servidor openvpn o qual me comunico através de telnet. Contudo se deslogo do servidor e tento voltar não consigo mais, parece q o servidor telnet não esta mais la.
Obrigado
Não consigo estabilizar a conexão
por Jean Felix (anônimo) em 4 de novembro de 2010 às 15h42
Ola! Primeiramente meus parabens pelo seu topico, está muito bom!

O meu problema é que eu segui o passo-a-passo corretamente.. mas quando um Start da VPN. . ele não consegue estabilizar a conexão, eu ja desativei o firewall do windows e do modem, mas nao obtive sucesso, abri a porta que voce coloca como exemplo mas nao consigo startar! poderia me dar um help?

Desde já eu agradeço!

Jean Felix.
Problemas para levantar openvpn
por Hilton Alves (anônimo) em 22 de setembro de 2010 às 16h29
Comprei seu livro Servidores linux e por sinal é um excelente livro.
A questão que quando fui montar uma VPN, usando o openvpn tive alguns problemas:

Wed sep 22 16:06:01 2010 Canoot open file key file 'static.key':No such file or directory (errno=2)

Nao sei onde errei, pois, seguir a risca o tutorial...onde vc explica sobre a implantação da vpn.

E conseguir criar uma vpn simples sem a criptografia da key.
Se possivel receber essa ajuda agradecerei muito
Erro no link para o site do OpenVPN for Windows
por Carlos (anônimo) em 9 de setembro de 2010 às 16h04
Olá, é só para informar que o link para o site do OpenVPN for Windows, apesar de estar escrito certo no texto, o link está apontando para http://opnvpn.se/ ao invés de http://openvpn.se (falou a letra em open).

Abraços e parabéns pelo ótimo trabalho !