Ir para o conteúdo

Conexão VPN Site-to-Site entre OPNsense e pfSense

Introdução

O processo de estabelecer uma VPN Site-to-Site entre um OPNsense e um pfSense é relativamente simples e estável, desde que alguns cuidados sejam tomados previamente.
Antes de iniciar, certifique-se de que ambos os firewalls estão executando versões recentes e estáveis, pois incompatibilidades entre versões antigas podem causar falhas na negociação do túnel.

Essa integração é bastante comum em cenários onde o OPNsense está na matriz e o pfSense na filial, permitindo comunicação segura entre redes distintas via IPsec.


Ambiente

Antes de iniciar o procedimento, é importante alinhar as condições do ambiente para garantir coerência nas configurações.

Descrição OPNsense (Matriz) pfSense (Filial)
WAN 180.0.0.1 200.0.0.1
LAN 192.168.1.0/24 192.168.179.0/24
Versão 25.7 2.7.2

Premissas:
- Ambos os firewalls possuem IPs públicos válidos.
- Provedores de internet não bloqueiam portas IPsec (UDP 500, UDP 4500 e protocolo ESP).


Configuração no OPNsense (Matriz)

1. Criar a Chave Pré-Compartilhada (PSK)

  1. Acesse o menu VPN → IPsec → Pre-Shared Keys.
  2. Clique em + Add e preencha conforme o exemplo abaixo:

    • Local Identifier: 180.0.0.1
    • Remote Identifier: 200.0.0.1
    • Pre-Shared Key: password
    • Type: PSK
  3. Clique em Save.

Essa chave será usada por ambas as pontas para autenticação do túnel IPsec.


2. Criar a Conexão IPsec (Phase 1)

  1. Acesse VPN → IPsec → Connections.
  2. Clique em + Add e configure os campos:

    • Local Address: 180.0.0.1
    • Remote Address: 200.0.0.1
    • Description: VPN-COM-FILIAL-PFSENSE
  3. Clique em Save.

Após salvar, novas opções relacionadas à autenticação e redes (Child SAs) estarão disponíveis.


3. Configurar Autenticações Locais e Remotas

  1. Clique em Add Local Authentication e defina:
    • ID: 180.0.0.1
  2. Clique em Save.
  3. Clique em Add Remote Authentication e defina:
    • ID: 200.0.0.1
  4. Clique em Save novamente.

Esses identificadores garantem que o túnel reconheça corretamente a origem e o destino durante a negociação IKE.


4. Configurar a Fase 2 (Child SA)

  1. Ainda na mesma conexão, localize a seção Children.
  2. Clique em + Add para adicionar um novo Child SA.
  3. Preencha com as redes locais e remotas conforme o cenário:

    • Local Network: 192.168.1.0/24
    • Remote Network: 192.168.179.0/24
  4. Clique em Save.

  5. Marque a opção Enable IPsec próxima ao botão Apply, e depois em Apply Changes.

5. Criar Regras de Firewall

Para permitir o tráfego IPsec, é necessário liberar os protocolos e portas adequadas.

a) Regras para entrada da conexão IPsec

  1. Acesse Firewall → Rules → WAN.
  2. Crie uma nova regra com as seguintes configurações:
    • Action: Pass
    • Protocol: UDP
    • Destination Port: 500
    • Description: Permite conexões IPsec (IKE)
  3. Crie uma outra regra com as seguintes configurações:
    • Action: Pass
    • Protocol: UDP
    • Destination Port: 4500
    • Description: Permite conexões IPsec (NAT-T)
  4. Adicione também uma regra para o protocolo ESP.
    • Action: Pass
    • Protocol: ESP
    • Description: Permite conexões IPsec (ESP)

b) Regras para tráfego dentro do túnel

  1. Acesse Firewall → Rules → IPsec.
  2. Crie uma regra permitindo o tráfego entre as redes conectadas:

    • Source: 192.168.179.0/24
    • Destination: 192.168.1.0/24
    • Action: Pass
    • Description: Permite tráfego da Filial para Matriz
  3. Clique em Apply Changes.


Configuração no pfSense (Filial)

1. Criar a Conexão IPsec (Phase 1)

  1. Vá em VPN → IPsec.
  2. Clique em + Add P1 e preencha:

    • Description: VPN-COM-MATRIZ-OPNSENSE
    • Key Exchange Version: IKEv2
    • Interface: WAN
    • Remote Gateway: 180.0.0.1
    • Pre-Shared Key: password
    • Child SA Start Action: Initiate at start
    • Child SA Close Action: Restart/Reconnect
    • Dead Peer Detection (DPD): desmarque
  3. Clique em Save e depois em Apply Changes.


2. Configurar a Fase 2 (Child SA)

  1. Clique em Show Phase 2 EntriesAdd P2.
  2. Preencha:

    • Remote Network: 192.168.1.0/24
    • Local Network: 192.168.179.0/24
    • Hash Algorithms: SHA256, SHA384, SHA512
  3. Clique em Save e depois em Apply Changes.


3. Criar Regras de Firewall

a) Regras de entrada (WAN)

  1. Vá até Firewall → Rules → WAN.
  2. Adicione as regras abaixo:

    Action Source Destination Protocol Port/Type Description
    Allow any This Firewall ESP Permite conexões IPsec (ESP)
    Allow any This Firewall UDP 500 (ISAKMP) Permite conexões IPsec (IKE)
    Allow any This Firewall UDP 4500 (NAT-T) Permite conexões IPsec (NAT-T)
  3. Clique em Apply Changes.

b) Regras na Interface IPsec

  1. Acesse Firewall → Rules → IPsec.
  2. Crie uma regra para liberar o tráfego entre as redes:

    Action Source Destination Protocol Description
    Allow 192.168.1.0/24 192.168.179.0/24 any Permite tráfego da Matriz para Filial
  3. Clique em Save e Apply Changes.


Validação e Testes

  1. No pfSense, acesse Status → IPsec.
  2. Verifique se o túnel aparece como Established (ativo).
  3. Repita a verificação no OPNsense, em VPN → IPsec → Status Overview.
  4. Faça um teste de conectividade, podendo ser através do Ping (não se esqueça que para IPsec é necessário especificar o Source como IP da lan do próprio firewall na tela do Ping):

Se as respostas forem bem-sucedidas, o túnel está funcional e trafegando corretamente.


Próximos Passos

  • Ajuste as regras de firewall do túnel para permitir apenas o tráfego estritamente necessário entre as redes.
  • Configure um serviço de monitoramento automático (Monit) para reiniciar o túnel em caso de falha.
  • Considere implementar roteamento dinâmico (BGP ou OSPF) sobre o IPsec em ambientes com múltiplos túneis.