Como configurar o wireguard no pfSense
Oque é o wireguard?
O wireguard é um software opensource capaz de criar uma rede virtual privada, permite que você acesse redes locais de forma remota.
O wireguard usa um sistema de chaves privadas semelhante a criptografia de ponta a ponta do whatsapp, bem como o sistema de chaves privadas do ssh server.
Esquema de uma rede wireguard:
Vantagens de se usar uma rede VPN.
- Limitação de acesso a redes por usuário.
- Segurança em acessar redes internas.
- Criptografia de ponta a ponta.
- Fácil revogação de acessos a sistemas internos.
- Conectar a serviços locais como se estivesse conectado fisicamente a rede local.
- Facilitar a comunicação de serviços que estão em locais diferentes (filial/matriz).
O que é o pfSense?
O pfSense é um sistema operacional com objetivo de transformar um computador ou servidor em um roteador/firewall, com o pfSense é possível criar regras avançadas, filtros e VPNs. Esse post tem como objetivo criar uma vpn segura usando wireguard no pfSense.
Aqui você consegue encontrar um guia passo a passo de Como instalar o pfSense no virtualbox.
Configuração
Vamos definir qual será nosso bloco de ips locais.
Os mais comuns são:
- 10.8.0.1/24
- 10.7.0.1/24
- 192.168.10.0/24
- 10.0.0.1/24
Lembre-se de escolher um bloco de ip que não possa gerar conflitos internos com outras redes locais.
O sufixo /24 especifica a quantidade de ips que esse bloco terá.
/32 --> 255.255.255.255 (1 IP)
/31 --> 255.255.255.254 (2 IPs)
/30 --> 255.255.255.252 (4 IPs)
/29 --> 255.255.255.248 (8 IPs)
/28 --> 255.255.255.240 (16 IPs)
/27 --> 255.255.255.224 (32 IPs)
/26 --> 255.255.255.192 (64 IPs)
/25 --> 255.255.255.128 (128 IPs)
/24 --> 255.255.255.0 (256 IPs)
Instalando módulo wireguard no pfSense
Primeiro precisamos instalar o pacote do wireguard no pfSense, para isso basta ir no menus System em seguinda Package Manager.
Em seguinda iremos em Available Packages.
Pesquise por wireguard.
E clique em Install.
Clique em Confirm.
Configurando o servidor wireguard
Vamos no menu VPS em seguida Wireguard.
Clique em Add Tunnel.
Preecha as informações em seguida salve.
Em interface address insira o ip local da sua escolha.
Observe que agora a seguinde mensagem é exibida.
"The WireGuard service is not running."
Vamos habilitar o serviço, para isso basta clicar em Settings em seguinda Enable WireGuard.
Em seguinda salve as configurações.
Clique em Apply Changes.
Libere a porta do wireguard no firewall.
Preencha com as seguintes informações.
Clique em Apply Changes
Configurando cliente no pfSense
No windows vc precisará instalar o wireguard client.
Você pode instalar acessando o site oficial.
Após instalar vamos iniciar nossa configuração.
Adicione um novo tunnel vazio.
Nesse passo ele irá gerar uma chave privata aleatório, copie a primeira chave.
No pfSense iremos configurar um novo peer.
Para isso basta clicar em Peers em seguinda Add peer.
Preencha os campos.
Em Public Key você irá copiar a sua chave pública que foi gerado anteriormente.
Em Allowed IPs você ira definir o endereço ip local que seu cliente poderá usar ao se conectara vpn.
Nunca repita o mesmo endereço ip local para outros clientes, use o /32 para especificar apenas um único ip para o cliente.
Clique em Apply Changes.
Configurando cliente no windows
Primeiro passo, copie a chave pública do servidor.
Agora iremos configurar o cliente que irá efetivamente acessar a rede, já iniciamos configurando sua chave privada, iremos dar andamento com as seguintes configuraçoes.
[Interface]
PrivateKey = <manter gerada anteriormente>
Address = 10.7.0.2/24
[Peer]
PublicKey = <chave pública do servidor copiada>
AllowedIPs = <ips que você terá acesso com a vpn>/24
PersistentKeepAlive = 25
Endpoint = <endereço ip externos para conexão>:51820
Ex:
Ative a conexão e verifique que está trafegando dados
Caso algo não seja configurado corretamente você não receberá trafego.
Ex:
E pronto, sua vpn foi configurada com sucesso!
Lembre-se de conferir o firewall para liberar acessos internos através da VPN.
Ao se conectar a VPN você poderá administrar seu sistema de forma segura.