Skip to content
Geek is the Way!
Menu
  • Forums
  • Sobre o blog
  • Contato
  • Português
    • English
Menu

Como configurar túnel VPN IPSEC site-a-site no pfSense usando IPs dinâmicos e chaves compartilhadas em ambos lados

Posted on 23/12/202030/12/2024 by Thiago Crepaldi

Muitos de nós tem mais de um pfSense (talvez conectando nossa casa ao escritório, nossa casa à casa dos nossos pais, etc) que se beneficiariam com uma conexão direta entre eles. Neste post vou descrever como criar um túnel IPSEC roteado que conecta ambas as extremidades, de forma que o Site A possa acessar diretamente o Site B e vice-versa.

AVISO Este post foi traduzido automaticamente via software e revisado nas coxas por mim. É possível que as descrições textuais sejam diferentes das interfaces gráficas. Além disso, algumas capturas de tela podem estar em inglês enquanto as instruções em português. Recomendo muita hora nessa calma e fazer as adaptações necessárias

ncontrei vários posts que assumem que 1) ambos os sites possuem IPs estáticos ou 2) no máximo 1 site tem IP dinâmico. Aqui vamos além disso e configurar um túnel com ambas as extremidades usando DDNS!

As vantagens do IPSec são que nenhum software adicional é necessário em ambos os sites, você pode impor regras específicas de firewall para o tráfego, limitar o tráfego que passa para o outro site pelo túnel (ao invés de todo o tráfego saindo do seu roteador), IPSEC é seguro e consome pouca banda!

Pré-requisitos

  • Ambos os sites devem estar usando pfSense e trabalhando corretamente em sua própria LAN
    • Não é um requisito IPSec, mas limita o escopo deste post
  • Ambos os sites não podem usar a mesma sub-rede (por exemplo, 192.168.1.0/24)
    • Esta não é uma limitação do IPSec, mas sim de rede de computadores como um todo.
    • Se esse for o seu caso, altere a sub-rede em um dos sites para uma sub-rede diferente (por exemplo, 192.168.2.0/24)
  • Ambos os dispositivos pfSense devem ser o gateway padrão na LAN onde estão instalados. Existem soluções alternativas usando rotas estáticas, mas para simplificar vou ignorar esta exceção
  • Você deve ter o controle de ambos os sites, pois vamos ter de configurar ambos
  • Você não pode usar grupos de gateway como interface WAN, pois a outra extremidade espera que um IP específico para fechar a conexão
  • DDNS deve ser configurado em ambos os sites
    • Não é necessário caso tenha IP estático

Configuração do túnel VPN

Para se ter uma conexão bem sucedida é necessário que ambos os sites tenham configurações idênticas. Vou destacar explicitamente quando houver configurações específicas de cada site! Antes de começar, certifique-se de que ambos os sites tenham DDNS funcionando e anote suas informações de rede. Para este post, usaremos a seguinte suposição:

 WAN FQDNSub-rede LANGateway
Site Aa.domain.com10.0.0.0/2410.0.0.1
Site Bb.domain.com10.100.0.0/2410.100.0.1

Os túneis IPsec têm duas fases: a fase 1 define o servidor remoto e como o túnel é autenticado. A fase 2 define como o tráfego é transportado através do túnel. Para começar, vá para VPN >> IPSec >> Tunnels.

Site A

Precisamos configurar tanto o Site A quanto o B!

Fase 1

Para criar a fase 1, clique em Adicionar P1 e faça o seguinte:

  • Informação geral
    • Desativado: desmarcado
    • Descrição: IPSec Site A para Site B – Fase 1
  • Configuração de terminal IKE
    • Versão da chave de troca: IKEv2
    • Protocolo de Internet: IPv4
    • Dispositivo: WAN
    • Gateway remoto: b.domain.com
      • Esta é a primeira diferença entre o Site A e o Site B. O Site A se referirá ao FQDN do Site B como gateway remoto, enquanto o Site B usará o FQDN do Site A como gateway remoto!
  • Proposta de Fase 1 (Autenticação)
    • Método de autenticação: PSK mútuo
    • Meu identificador: (esta é a segunda diferença)
      • DNS dinâmico
      • a.domain.com
    • Identificador de pares:
      • Endereço IP
      • 0.0.0.0
    • Chave pré-compartilhada: Você ou gera sua chave super longa aqui ou aperte o novo botão de tecla pré-compartilhado
      • Tome nota deste PSK como ele será usado no outro site também!
  • Proposta fase 1 (algoritmo de criptografia)
    • Essas configurações são uma espécie de hardware específico, então você pode ter que ajustá-las mais tarde para mais segurança/velocidade
    • Algoritmo de criptografia:
      • Algoritmo: AES128-GCM
      • Comprimento da chave: 128
      • Hash: SHA256
      • Grupo DH: 19 (nist ecp256)
    • Vida útil (Segundos): 28800
  • Opções avançadas
    • Rekey desativação: desmarcada
    • Tempo de vida (Segundos): vazio
    • Desabilitar Reauth: vazio
    • Somente resposta: desmarcado
      • Apenas um dos sites precisa ser verificado. Aquele que tem IPs mudando mais vezes deve ter isso verificado
    • Ação de encerramento da Child SA: Padrão
    • NAT Traversal: Auto
    • MOBIKE: selecionado
      • Isso é importante para suportar IPs Dinâmicos!
    • Conexões divididas: desmarcado
    • Detecção de pares mortos: selecionado
    • Atraso: 10
    • Falhas máximas: 5

Clique em Salvar e Aplicar alterações e a Fase 1 para o site A está pronta!

Fase 2

Na tabela de Túneis IPSEC , o túnel de fase 1 recentemente criado deve ser listado. Clique no botão Mostrar entradas da Fase 2 (0), seguido de um clique no botão Adicionar P2:

  • Informação geral
    • Desativado: desmarcado
    • Modo: Roteado (VTI)
    • Rede local:
      • Esta é outra diferença entre os sites A e B
      • Tipo: Endereço
      • Endereço: 192.168.99.1
        • Pode ser qualquer outra sub-rede não usada por nenhum dos sites!
    • Rede remota:
      • Esta é outra diferença entre os sites A e B
      • Tipo: Endereço
      • Endereço: 192.168.99.2
    • Descrição: IPSec Site A para Site B – Fase 2
  • Proposta de Fase 2 (SA/Key Exchange)
    • Isso também é específico de hardware e estou usando isso para compatibilidade
    • Protocolo: ESP
    • Algoritmos de criptografia:
      • AES128-GCM
      • 128 bits
    • Algoritmos hash: SHA256
    • Grupo-chave PFS: 19 (nist-ecp256)
    • Vida útil: 3600
  • Configuração avançada
    • Host de ping automático: 10.100.0.1
      • Sim, outra configuração específica do site!

Como de costume, clique em Salvar e Aplicar alterações para concluir esta configuração!

Chaves pré-compartilhadas

Como estamos trabalhando com IPs dinâmicos em ambas as extremidades, precisamos dar um passo extra e criar outro registro para a chave pré-compartilhada que usamos antes. Este registro associará o DDNS do FQDN ao PSK! Vá para a guia Teclas Pré-Compartilhadas e clique em Adicionar:

  • Editar segredo pré-compartilhado
    • Identificador: b.domain.com
      • Mais uma configuração específica do site
    • Tipo secreto: PSK
    • Chave pré-compartilhada: o mesmo usado durante a Fase 1
    • Tipo de identificador: Nome de domínio totalmente qualificado do usuário
    • Pool de endereços virtuais: vazio
    • Servidor DNS: vazio

Clique em Salvar e Aplicar alterações!

Atribuindo interfaces ao IPSec

Como escolhemos o Roteado (VTI) como modo fase 2, precisamos atribuir uma interface ao nosso túnel. Vá para Interfaces >> Atribuições >> Atribuições de Interface e na parte inferior da lista você deve ver algo como Portas de rede disponíveis: ipsec1000 (nome do seu túnel). Clique em Adicionar, seguido de um clique na interface recém-criada:

  • Configuração geral
    • Habilitado: selecionado
    • Descrição: IPSEC_SITES_A_B

Deixe o resto como está e clique em Salvar e Aplicar alterações!

Criando rota estática para o outro local

Agora que temos uma interface que representa o outro site, podemos criar uma nova rota para ele navegando para o Sistema >> Roteamento >> Rotas Estáticas e clicando em Adicionar:

  • Editar entrada de rota
    • Rede de destinos: 10.100.0.0
    • Gateway: Selecione a interface que você acabou de atribuir ao túnel IPSec
    • Desativado: desmarcado
    • Descrição: Rota IPSec para o Site B

Cliques em Salvar e Aplicar alterações completam a configuração no site A.

Configuração da substituição de domínio DNS

Cada site será capaz de resolver nomes do seu lado, mas não do outro. Uma correção rápida para isso é criar uma entrada de substituição de domínio no DNS Resolver. Vá para Serviços >> DNS Resolver >> Sobrescrever domínio, clique em Adicionar e faça o seguinte:

  • Domínios para substituir com servidores personalizados
    • Domínio: lan.domain.com (ou qualquer nome de domínio do site B)
    • Endereço IP: 10.100.0.1
    • Consultas TLS: desmarcado
    • Nome do host TLS: vazio
    • Descrição: Substituição de domínio para o túnel IPSec Local A – Site B

Pressione Salvar e Aplicar alterações.

Site B

O site B deve usar as mesmas configurações, então repita o processo como antes. Abaixo só vou destacar as diferenças!

Fase 1

  • Informação geral
    • Gateway remoto: a.domain.com
    • Descrição: IPSec Site B para Site A – Fase 1
  • Proposta de Fase 1 (Autenticação)
    • Meu identificador:
      • DNS dinâmico
      • b.domain.com
    • Chave pré-compartilhada: Copie e cole o PSK usado no Site A
  • Opções avançadas
    • Somente respondente: selecionado

Clique em Salvar e Aplicar alterações e a Fase 1 para o site B está pronta!

Fase 2

Na tabela Túneis IPSEC, o túnel de fase 1 recentemente criado deve ser listado. Clique no botão Mostrar entradas da Fase 2 (0), seguido de um clique no botão Adicionar P2 :

  • Informação geral
    • Rede local:
      • Tipo: Endereço
      • Endereço: 192.168.99.2
    • Rede remota:
      • Tipo: Endereço
      • Endereço: 192.168.99.1
    • Descrição: IPSec Site B para Site A – Fase 2
  • Configuração avançada
    • Host de ping automático: 10.0.0.1

Como de costume, clique em Salvar e Aplicar alterações para concluir esta configuração!

Chaves pré-compartilhadas

Da mesma forma que o Site A, vá para a guia Chaves Pré-Compartilhadas e clique em Adicionar:

  • Editar segredo pré-compartilhado
    • Identificador: a.domain.com

Uma última vez para o site B, clique em Salvar e Aplicar alterações!

Atribuindo interfaces ao IPSec

Da mesma forma que o Site A, vá para Interfaces >> Atribuições>> Atribuições de Interface e clique em Adicionar na porta IPSec disponível, seguido de um clique em seu nome:

  • Configuração geral
    • Habilitado: selecionado
    • Descrição: IPSEC_SITES_B_A

Deixe o resto como está e clique em Salvar e Aplicar alterações!

Criando rota estática para o outro local

Agora que temos uma interface que representa o outro site, podemos criar uma nova rota para ele navegando para o Sistema >> Roteamento >> Rotas Estáticas e clicando em Adicionar:

  • Editar entrada de rota
    • Rede de destinos: 10.0.0.0
    • Gateway: Selecione a interface que você acabou de atribuir ao túnel IPSec
    • Desativado: desmarcado
    • Descrição: Rota IPSEC para o Site A

Cliques em Salvar e Aplicar alterações completam a configuração no site B.

Configuração da substituição do domínio DNS

  • Domínios para substituir com servidores personalizados
    • Domínio: lan.domain.com (ou qualquer nome de domínio do site B)
    • Endereço IP: 10.0.0.1
    • Consultas TLS: desmarcado
    • Nome do host TLS: vazio
    • Descrição: Substituição de domínio para o túnel IPSec Local A – Site B

Pressione Salvar e Aplicar alterações.

Verifique o status do túnel

Para verificar se tudo foi feito corretamente, temos que ir ao Status >> IPSec >> Status do IPSEC no site B (supondo que você verifique o Responder apenas para o Site A). Haverá uma tabela com seu túnel. Se o Status for “Estabelecido”, show de bola. Se não, tente clicar em Conectar VPN para começar. Se a conexão nunca for estabelecida, verifique todas as configurações. Você provavelmente confundiu alguma coisa!

Adicionar regras de firewall

Tenho certeza que assim que você viu o status estabelecido, a primeira coisa que você tentou foi pingar o outro site … Também fiz isso! Para sua surpresa, não funcionou. Isso é esperado, pois embora seu pfSense saiba sobre a existência do túnel, ele não tem regras de firewall para permitir o tráfego…

Em ambos os sites, vá para Firewall >> Rules >> IPsec e crie uma regra permitir que todas as regras clicando em Adicionar:

  • Editar regra de firewall
    • Ação: Liberar
    • Desativado: desmarcado
    • Interface: IPsec
    • Família endereço: IPv4
    • Protocolo: Qualquer
  • Origem
    • Origem: Qualquer
  • Destino
    • Destino: Qualquer
  • Opções extras
    • Log: desmarcado
    • Descrição: Padrão permitir que todas as regras

Finalize clicando em Salvar e Aplicar atualizações!

Regras de firewall mais restritivas são melhores, principalmente quando impõem protocolos, etc!

Verifique se o tráfego está passando

Assim que você tiver adicionado as regras de firewall em ambos os sites e o túnel tiver sido estabelecido, então você deve conseguir pingar a outra extremidade!

Opcional: Adicionando widget do painel

Isso não tem nada a ver com o funcionamento do IPSec.. No entanto, adicionar um widget Dashboard pode ajudá-lo a monitorar se algo está errado. Ou talvez só tenha um visual legal 🙂

No painel pfSense, clique na seção + Status / Dashboard . A lista de widgets aparecerá e você só tem que clicar em +IPSec para adicioná-lo. É isso mesmo!

Referências

  • https://docs.netgate.com/pfsense/en/latest/recipes/ipsec-s2s-psk.html
  • https://pfsense-docs.readthedocs.io/en/latest/vpn/ipsec/configuring-a-site-to-site-ipsec-vpn.html
  • https://pfsense-docs.readthedocs.io/en/latest/vpn/ipsec/ipsec-routed.html

Compartilhe isso:

  • Tweet

Related

Deixe uma respostaCancelar resposta

LIKED? SUPPORT IT :)

Buy Me a Coffee


Pesquisa


Categorias

  • Aleatório (3)
  • Cozinhando (1)
  • Homelab (50)
    • APC UPS (5)
    • Compras (1)
    • NAS Synology (7)
    • pfSense (33)
    • Proxmox (4)
    • Supermicro (1)
    • Ubiquiti (4)
    • UDM Pro (4)
  • Wordpress (1)

Tag

ambiente virtual proxmox (3) aplicativo apt-get (2) Bloqueio baseado em DNS (DNSBL) (2) Certificado de Autorização (CA) (2) certificados (5) Certificados Let's Encrypt (5) DNS dinâmico (2) DNS Dinâmico (DDNS) (3) Dsistribuição Linux Debian (2) Equipamento UDM-Pro (5) Linha Unifi (3) monitoramento (2) No-Break APC (5) Nobreak UPS (5) Nuvem CloudFlare (2) Placa APC AP9631 (3) Plataforma PBS (3) Plataforma pfSense (35) Plataforma Proxmox (3) Plataforma PVE (3) Plataforma Synology (6) privacidade (2) Protocolo IPSEC (2) Protocolo LDAP (2) Protocolo SNMP (3) Protocolo SNMPv1 (3) Protocolo SSH (4) Protocolo SSL (5) Rede de Computadores (14) Redes VLAN (4) Rede VPN (8) Rede WiFi (4) rev202207br (54) Roteamento (2) segurança (14) Segurança com Firewall (7) Servidor de Backup Proxmox (3) servidor vpn (2) Serviço DNS (3) Serviço GMail (2) Serviço NMC (2) Serviço pfBlockerNG (2) Sistema Operacional DSM (6) sub-rede (2) Tarefas crontab (2)

Ver também

Política de privacidade

Mapa do site

©2025 Geek is the Way! | Design by Superb