Você está na página 1de 23

Vamos configurar manualmente os pré-requisitos para a VPN.

Primeiro, precisamos de uma autoridade certificadora (do inglês Certificate Authority, CA) para emitir os
certificados do servidor e do cliente. Vá em System, Cert. Manager, aba CAs e clique no botão Add.
Preencha o cadastro com as informações a seguir (claro, lembre-se sempre de alterar de acordo com as suas
necessidades):

 Descriptive name: MINHACASA_CA


 Method: Create an internal Certificate Authority
 Country Code: BR
 State or Province: Rio Grande do Sul
 City: Pelotas
 Organization: Minha Casa
 Email Address: vinyanalista@minhacasa.net
 Common Name: minhacasa-ca

Clique em Save:

Depois, precisamos de um certificado para o servidor. De volta à tela Certificate Manager, clique na aba
Certificates e clique no botão Add. Preencha o cadastro com as informações a seguir:
 Method: Create an internal Certificate
 Descriptive name: VPN de teste
 Certificate authority: MINHACASA_CA
 Certificate Type: Server Certificate
 Country Code: BR
 State or Province: Rio Grande do Sul
 City: Pelotas
 Organization: Minha Casa
 Email Address: vinyanalista@minhacasa.net
 Common Name: vpn-de-teste

Clique em Save:
Precisamos também cadastrar os usuários que utilizarão a VPN (login e senha) e criar certificados para esses
usuários. Vá em System, User Manager e clique no botão Add. Preencha o cadastro com as informações a
seguir:

 Username: vinyanalista
 Password: Alg0$3guro!
 Full name: Antônio Vinícius Menezes Medeiros

Em Certificate, marque Click to create a user certificate para que ele gere um certificado para o usuário
que estamos cadastrando. Acrescente as informações:

 Descriptive name: vinyanalista


 Certificate authority: MINHACASA_CA

Clique em Save:
Agora vamos à configuração da VPN propriamente dita.

Vá em VPN, OpenVPN e clique na aba Wizards. É iniciado então o OpenVPN Remote Access Server
Setup. Na primeira tela, Select an Authentication Backend Type, escolha Local User Access, e clique em
Next:
Na segunda tela, Choose a Certificate Authority (CA), selecione a autoridade cerficadora que foi criada
anteriormente (MINHACASA_CA) e clique em Next:

Na terceira tela, Choose a Server Certificate, selecione o certificado de servidor que foi criado
anteriormente (VPN de teste) e clique em Next:
Na tela seguinte, Server Setup, vamos configurar o servidor da VPN. Aqui, você deve preencher de acordo
com as configurações da rede do seu servidor (a rede da sua empresa, por exemplo). Vejamos algumas
configurações:

 Interface: WAN (interface de rede na qual o servidor aguardará pela conexão do cliente, deve
apresentar conexão com a Internet)
 Local Port: 1194 (porta na qual o servidor aguardará pela conexão do cliente, 1194 é a porta
convencional para o protocolo OpenVPN, você pode utilizar essa porta para a primeira VPN, mas se
for criar outras, deverá reservar portas diferentes para cada VPN, por exemplo 1195, 1196...)
 Description: VPN de teste (descrição da VPN, deve ser um nome informativo, até porque aparecerá
na tela do cliente identificando a conexão)
 Tunnel Network: 192.168.26.0/24 (endereço e máscara da rede virtual privada, no formato de CIDR
, observe que o pfSense tomará o primeiro endereço IP para ele, nesse caso 192.168.26.1, e os
demais endereços IPs serão atribuídos aos clientes)
 Local Network: 192.168.25.0/24 (endereço e máscara da rede interna que o cliente conectado pela
VPN poderá acessar, é possível especificar mais de uma rede separando as redes por vírgula e até
mesmo restringir o acesso a apenas um computador na rede interna, por exemplo 192.168.25.2/32)

Com relação ao campo Tunnel Network, devo observar que ele determina a quantidade de computadores
que poderão se conectar pela VPN. Obrigatoriamente, o servidor consumirá 1 endereço IP da VPN. Além
disso, o pfSense não deixa criarmos uma VPN cujo endereço de rede utilize 30, 31 ou 32 bits do endereço
IP. Então, a menor rede virtual privada que podemos criar utiliza 29 bits do endereço IP para se identificar.
Com os 3 bits restantes, podemos endereçar 5 clientes.

Para esclarecer a explicação, se tivéssemos preenchido o campo Tunnel Network com 192.168.26.0/29, os
endereços da nossa VPN seriam assim:

 192.168.26.0: endereço da rede


 192.168.26.1: endereço do pfSense
 192.168.26.2: endereço atribuído ao primeiro cliente que se conectar à VPN
 192.168.26.3: endereço atribuído ao segundo cliente
 192.168.26.4: endereço atribuído ao terceiro cliente
 192.168.26.5: endereço atribuído ao quarto cliente
 192.168.26.6: endereço atribuído ao quinto cliente
 192.168.26.7: endereço de broadcast
Provavelmente os campos Tunnel Network e Local Network são os que merecem mais cuidado nessa tela.

Há alguns campos que podem ser preenchidos caso você necessite configurar o cliente conectado à VPN
usando DHCP. Desses, destaco:

 DNS Default Domain


 DNS Server 1, DNS Server 2, DNS Server 3 e DNS Server 4
 NTP Server e NTP Server 2
 WINS Server 1 e WINS Server 2

Perceba que essa tela é extensa, mas nela estão quase todas as configurações da VPN:
Quando terminar de configurar a VPN, clique em Next.

Na penúltima tela do assistente, Firewall Rule Configuration, certifique-se de que as duas opções Firewall
Rule e OpenVPN rule estejam marcadas. Com isso, o pfSense criará automaticamente as regras de firewall
necessárias para que a VPN funcione. Clique em Next:

A última tela apenas informa que a VPN foi criada. Clique em Finish:
Exportando o software cliente
O pfSense é capaz de exportar o software e os arquivos de configuração que devem ser instalados no
computador cliente para que ele consiga se conectar à VPN. Para isso, usamos o OpenVPN Client Export
Utility. Esse utilitário não acompanha a instalação padrão do pfSense, sendo disponibilizado como um
pacote.

Caso você ainda não o tenha instalado, vá em System, Package Manager, na aba Available Packages,
busque por esse pacote e o instale clicando no botão Install:

Com o utilitário instalado, vá em VPN, OpenVPN, aba Client Export.


Em Remote Access Server, selecione a VPN (nesse exemplo, VPN de teste).

Mais abaixo, no final da página, na linha correspondente ao usuário que deve acessar a VPN (nesse
exemplo, vinyanalista), clique no botão correspondente ao cliente que deseja exportar.

Vou demonstrar como conectar à VPN um computador cujo sistema operacional é o Windows 10 de 64 bits.
Nesse caso, clique no botão x64-win6 para exportar o cliente correspondente:
O download do instalador do cliente é iniciado. Esse arquivo (cujo nome deve ser algo parecido com
firewall-udp-1194-vinyanalista-install.exe) deve ser copiado ou movido para o computador cliente.

Também vou demonstrar como conectar à VPN um celular com sistema Android. Você pode aproveitar para
já baixar também o arquivo de configuração que será necessário. Para isso, clique no botão Android. Esse
arquivo (cujo nome deve ser algo parecido com firewall-udp-1194-vinyanalista-android-config.ovpn)
deve ser copiado ou movido para o celular. No caso do Android, o software cliente é instalado pela Play
Store , por isso o pfSense exporta apenas o arquivo de configuração.

Conectando à VPN pelo Windows 10


No computador cliente, execute o instalador do cliente OpenVPN, baixado do pfSense. A instalação é bem
simples. Aqui, mais uma vez, é next, next, next:

Terminada a instalação, para iniciar o cliente OpenVPN, abra o menu Iniciar, clique em Todos os
programas, depois em OpenVPN e, por fim, em OpenVPN GUI:
O cliente OpenVPN é iniciado. Observe seu ícone na área de notificação:

Dê dois clique nesse ícone. O cliente solicita usuário e senha para se conectar com a VPN. Informe o usuário
e a senha que você configurou no pfSense e clique em OK:
Se conseguir se conectar, o cliente OpenVPN mostra uma notificação com o endereço IP que foi atribuído
ao computador dentro da rede privada virtual. Observe também que o ícone do cliente muda sua cor para
verde, indicando que está conectado:

Como teste, você pode abrir o Prompt de comando do Windows e verificar a conectividade com algum
computador na rede da outra ponta da VPN:

Microsoft Windows [versão 10.0.10240]


(c) 2015 Microsoft Corporation. Todos os direitos reservados.

C:\Users\Vinicius>ping 172.20.0.4

Disparando 172.20.0.4 com 32 bytes de dados:


Resposta de 172.20.0.4: bytes=32 tempo=127ms TTL=62
Resposta de 172.20.0.4: bytes=32 tempo=78ms TTL=62
Resposta de 172.20.0.4: bytes=32 tempo=104ms TTL=62
Resposta de 172.20.0.4: bytes=32 tempo=97ms TTL=62

Estatísticas do Ping para 172.20.0.4:


Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de
perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 78ms, Máximo = 127ms, Média = 101ms

C:\Users\Vinicius>

Quando não precisar usar mais a VPN, clique com o botão direito do mouse no ícone do cliente OpenVPN e
em seguida clique em Sair:
Solução de problemas

Caso você perceba que não conseguiu se conectar à VPN e o cliente exibe uma mensagem como esta:

TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network
connectivity)

Significa que o cliente e o servidor OpenVPN não estão conseguindo se comunicar, podendo a causa do
problema estar em uma ponta ou outra da conexão. É provável que seu computador esteja sem conexão com
a Internet ou algum firewall esteja impedindo a conexão do seu computador com o servidor da VPN.

Algumas verificações que você pode fazer do lado do cliente:

1. Tentar executar o cliente OpenVPN como administrador;


2. Verificar a hora do computador (para que a conexão segura possa ser estabelecida é um pré-requisito
que a hora esteja correta);
3. Verificar no Firewall do Windows se a porta número 1194 está liberada para receber conexões TCP e
UDP (se não estiver liberada, adicionar exceção);
4. Verificar no Firewall do Windows se o aplicativo openvpn.exe está sendo bloqueado (se estiver
bloqueado, adicionar exceção);
5. Se houver algum firewall entre o computador e o provedor de Internet, verificá-lo também; e
6. Se já havia um cliente OpenVPN instalado no computador e o instalador baixado do pfSense apenas
acrescentou a configuração da VPN recém-criada, considere a possibilidade de desinstalar o cliente
já instalado na máquina e instalar o fornecido, que pode ser mais novo e conter correções para bugs e
falhas de segurança.

Falando em bug, pode acontecer de o cliente OpenVPN relatar que conseguiu se conectar, mas não
conseguiu configurar rotas para a rede privada virtual:

Tue Jun 14 22:15:09 2016 ROUTE: route addition failed using CreateIpForwardEntry:
Acesso negado. [status=5 if_index=4]
Tue Jun 14 22:15:09 2016 env_block: add
PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Tue Jun 14 22:15:09 2016 ERROR: Windows route add command failed [adaptive]: returned
error code 1
Tue Jun 14 22:15:09 2016 ROUTE: route addition failed using CreateIpForwardEntry:
Acesso negado. [status=5 if_index=4]
Tue Jun 14 22:15:09 2016 env_block: add
PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Tue Jun 14 22:15:10 2016 ERROR: Windows route add command failed [adaptive]: returned
error code 1
Tue Jun 14 22:15:10 2016 Initialization Sequence Completed
Isso é um bug que afetava versões antigas do cliente OpenVPN, mas já foi corrigido. Você pode baixar a
versão mais recente do cliente OpenVPN , instalá-la em seu computador e repetir os passos acima para se
conectar à VPN normalmente. Ou, se não quiser fazer isso, você pode tentar executar o cliente já instalado
em seu computador com permissões de administrador.

Quando você conseguir se conectar sem problemas, o cliente OpenVPN deve exibir uma sequência de
mensagens parecida com esta:

Tue Jun 14 22:18:06 2016 OpenVPN 2.3.11 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO]
[PKCS11] [IPv6] built on May 10 2016
Tue Jun 14 22:18:06 2016 Windows version 6.2 (Windows 8 or greater) 64bit
Tue Jun 14 22:18:06 2016 library versions: OpenSSL 1.0.1t 3 May 2016, LZO 2.09
Tue Jun 14 22:19:34 2016 Control Channel Authentication: using 'firewall-udp-1194-
antonio.medeiros-tls.key' as a OpenVPN static key file
Tue Jun 14 22:19:34 2016 UDPv4 link local (bound): [undef]
Tue Jun 14 22:19:34 2016 UDPv4 link remote: [AF_INET]187.86.133.121:1194
Tue Jun 14 22:19:35 2016 WARNING: this configuration may cache passwords in memory --
use the auth-nocache option to prevent this
Tue Jun 14 22:19:35 2016 [VPN do HEUFPEL] Peer Connection Initiated with
[AF_INET]187.86.133.121:1194
Tue Jun 14 22:19:38 2016 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Tue Jun 14 22:19:38 2016 open_tun, tt->ipv6=0
Tue Jun 14 22:19:38 2016 TAP-WIN32 device [Ethernet 3] opened: \\.\Global\{2D6F99C4-
A78C-48F2-A301-AEBFDD5B5E30}.tap
Tue Jun 14 22:19:38 2016 Set TAP-Windows TUN subnet mode network/local/netmask =
10.100.201.0/10.100.201.2/255.255.255.0 [SUCCEEDED]
Tue Jun 14 22:19:38 2016 Notified TAP-Windows driver to set a DHCP IP/netmask of
10.100.201.2/255.255.255.0 on interface {2D6F99C4-A78C-48F2-A301-AEBFDD5B5E30} [DHCP-
serv: 10.100.201.254, lease-time: 31536000]
Tue Jun 14 22:19:38 2016 Successful ARP Flush on interface [4] {2D6F99C4-A78C-48F2-
A301-AEBFDD5B5E30}
Tue Jun 14 22:19:44 2016 Initialization Sequence Completed

Conectando à VPN pelo Android


Para conectar um celular com Android à VPN que acabamos de criar no nosso firewall pfSense, precisamos
instalar um aplicativo cliente no celular. Aqui, vou demonstrar como usar o cliente oficial do OpenVPN, o
OpenVPN Connect.

Comece instalando o OpenVPN Connect pela Play Store:

Clique para obter o OpenVPN Connect na Play Store

Se ainda não passou, passe agora para o celular o arquivo de configuração exportado pelo pfSense.

No celular, abra o menu de Aplicativos e toque no OpenVPN Connect:


O cliente OpenVPN para Android é iniciado:
Toque no botão de opções (o com 3 pontos que aparece no canto superior direito da tela), em seguida em
Import e, por último, em Import Profile from SD card:
Localize o arquivo de configuração na memória interna ou no cartão de memória do seu celular, toque nele e
depois em Select:
O cliente solicita usuário e senha para se conectar com a VPN. Informe o usuário e a senha que você
configurou no pfSense. Opcionalmente, marque a opção Save para que ele memorize o usuário e a senha.
Por fim, toque em Connect:
Se conseguir se conectar, o cliente OpenVPN passa a exibir o status da conexão. Observe que ele fixa um
ícone na área de notificação, indicando que está conectado:
Quando não precisar usar mais a VPN, volte ao cliente OpenVPN e toque em Disconnect.

Você também pode gostar