Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
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):
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:
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:
Há alguns campos que podem ser preenchidos caso você necessite configurar o cliente conectado à VPN
usando DHCP. Desses, destaco:
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:
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.
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:
C:\Users\Vinicius>ping 172.20.0.4
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.
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
Se ainda não passou, passe agora para o celular o arquivo de configuração exportado pelo pfSense.