Se você usa pfSense como firewall ou roteador, pode notar que chamadas de voz do Discord falham, imagens não carregam ou o aplicativo não conecta. Isso acontece porque o pfSense bloqueia ou restringe os servidores específicos que o Discord usa para enviar dados de voz, vídeo e texto. Esses servidores são chamados de endpoints e estão espalhados por vários intervalos de IP e nomes de domínio. Este artigo explica quais endpoints do Discord você precisa liberar e mostra como criar as regras de firewall e aliases corretas no pfSense para que o Discord funcione de forma confiável.
Principais conclusões: Liberando endpoints do Discord no pfSense
- Firewall > Aliases > Adicionar novo alias: Crie um alias de rede para os intervalos de IP do Discord e um alias de URL para os nomes de domínio.
- Firewall > Rules > Adicionar regra de permissão: Crie uma regra que permita tráfego da sua LAN para o alias do Discord nas portas 443, 80 e UDP 50000-65535.
- Intervalos de IP do Discord: Use os blocos CIDR publicados para servidores de voz, proxy de mídia e gateway.
O que são endpoints do Discord e por que o pfSense os bloqueia?
O Discord usa uma rede distribuída de servidores para entregar seus serviços. Esses servidores são agrupados em endpoints. Os principais tipos de endpoints são:
Endpoints de voz: Gerenciam áudio e vídeo em tempo real durante chamadas. Usam portas UDP de 50000 a 65535. Se o pfSense não permitir tráfego UDP de saída nessas portas, as chamadas de voz falharão com o erro “No Route”.
Endpoints de proxy de mídia: Gerenciam uploads de imagens, anexos de arquivos e prévias de incorporação. Usam HTTPS na porta 443.
Endpoints de gateway: São os servidores aos quais o cliente Discord se conecta para chat de texto, notificações e atualizações de presença. Usam WebSockets sobre HTTPS na porta 443.
Por padrão, o pfSense bloqueia todo tráfego de entrada e só permite conexões de saída estabelecidas. No entanto, o pfSense também pode bloquear tráfego de saída se você tiver regras de firewall restritivas, regras de IDS/IPS ou listas de bloqueio personalizadas. Se os endpoints do Discord não forem explicitamente permitidos, a conexão será descartada.
Intervalos de IP publicados pelo Discord
O Discord publica os seguintes intervalos de IP para seus serviços. Use estes conforme a data deste artigo. Sempre verifique a documentação oficial ou página de status do Discord, pois os intervalos podem mudar.
- Intervalos IPv4: 69.164.192.0/18, 66.249.80.0/20, 34.95.0.0/16, 34.96.0.0/16, 34.97.0.0/16, 34.98.0.0/16, 34.99.0.0/16, 34.100.0.0/16, 34.101.0.0/16, 34.102.0.0/16, 34.103.0.0/16, 34.104.0.0/16, 34.105.0.0/16, 34.106.0.0/16, 34.107.0.0/16, 34.108.0.0/16, 34.109.0.0/16, 34.110.0.0/16, 34.111.0.0/16, 34.112.0.0/16, 34.113.0.0/16, 34.114.0.0/16, 34.115.0.0/16, 34.116.0.0/16, 34.117.0.0/16, 34.118.0.0/16, 34.119.0.0/16, 34.120.0.0/16, 34.121.0.0/16, 34.122.0.0/16, 34.123.0.0/16, 34.124.0.0/16, 34.125.0.0/16, 34.126.0.0/16, 34.127.0.0/16
- Nomes de domínio (para alias de URL): discord.com, discordapp.com, discord.gg, discord.media, discord-attachments-uploads.s3.amazonaws.com, discordapp.net, discordstatus.com
Passos para criar um alias de endpoint do Discord no pfSense
Antes de criar regras de firewall, você precisa definir um alias que agrupe todos os intervalos de IP e domínios do Discord. Isso mantém suas regras de firewall organizadas e fáceis de atualizar.
- Acesse a interface web do pfSense
Abra seu navegador e vá para o endereço IP de gerenciamento do pfSense. Insira seu nome de usuário e senha de administrador. - Vá para Firewall > Aliases
Clique no menu Firewall e selecione Aliases. É aqui que você cria grupos de endereços IP, portas ou URLs. - Clique no botão Add para criar um novo alias
Escolha o tipo “Network” para intervalos de IP. Dê um nome como “Discord_IPs”. No campo Description, escreva “Intervalos de IP dos servidores do Discord”. - Insira os intervalos de IP do Discord
Clique em “Add Network” para cada intervalo CIDR da lista acima. Insira o endereço de rede e selecione /32 para cada IP único ou a máscara de sub-rede correta. Por exemplo, para 69.164.192.0/18, insira 69.164.192.0 e selecione /18. - Salve o alias
Clique em Save na parte inferior da página. Depois clique em Apply Changes. - Crie um alias de URL para os domínios do Discord
Clique em Add novamente. Escolha o tipo “URL (IPs)”. Nomeie como “Discord_Domains”. No campo URL, insira cada domínio em uma nova linha: discord.com, discordapp.com, discord.gg, discord.media, discord-attachments-uploads.s3.amazonaws.com, discordapp.net, discordstatus.com. O pfSense resolverá esses domínios para seus endereços IP atuais. - Salve o alias de URL
Clique em Save e depois em Apply Changes.
Criar uma regra de firewall para permitir tráfego do Discord
Agora que os aliases estão prontos, crie uma regra de permissão na interface LAN que permita tráfego de saída para esses aliases.
- Vá para Firewall > Rules
Clique no menu Firewall e selecione Rules. Certifique-se de que a aba LAN está selecionada. - Clique no botão Add para criar uma nova regra
Uma página de configuração de nova regra será aberta. - Defina a Action como Pass
Altere o dropdown Action de “Block” para “Pass”. - Defina o Protocol como TCP/UDP
No dropdown Protocol, selecione “TCP/UDP”. Isso cobre tanto HTTPS na porta 443 quanto tráfego de voz UDP. - Defina a Source
Deixe Source como “LAN net” ou selecione a sub-rede específica da sua rede local. - Defina a Destination
No dropdown Destination, escolha “Single host or Alias”. No campo Destination Address, comece a digitar o nome do seu alias de IP, por exemplo “Discord_IPs”. Selecione-o no dropdown. - Defina a Destination Port Range
Para a regra TCP/UDP, defina Destination Port Range From: “HTTP (80)” To: “HTTPS (443)”. Isso permite tráfego web e WebSocket. - Clique em Save
Role para baixo e clique em Save. Depois clique em Apply Changes. - Crie uma segunda regra para voz UDP
Clique em Add novamente. Defina Action como Pass. Protocol como UDP. Source como LAN net. Destination como “Discord_IPs”. Destination Port Range From: “50000” To: “65535”. Salve e aplique. - Repita para o alias de URL
Crie mais duas regras idênticas às anteriores, mas usando o alias de URL “Discord_Domains” como destino. Isso garante que quaisquer mudanças de IP nos nomes de domínio do Discord sejam atualizadas automaticamente.
Se o Discord ainda tiver problemas após a liberação
Após adicionar as regras, teste o Discord. Se os problemas persistirem, verifique o seguinte.
Chamadas de voz do Discord ainda falham com “No Route”
Isso geralmente significa que a regra de voz UDP não está sendo aplicada. Verifique se a regra para as portas UDP 50000-65535 está posicionada acima de quaisquer regras de bloqueio na aba LAN. A ordem das regras importa: o pfSense processa as regras de cima para baixo. Mova as regras de permissão do Discord para o topo da lista usando a alça de arrastar.
Discord não consegue conectar de forma alguma
Seu pfSense pode ter um sistema de detecção de intrusão como Suricata ou Snort habilitado. Esses sistemas podem bloquear tráfego mesmo que o firewall permita. Desative temporariamente o IDS/IPS e teste o Discord. Se funcionar, adicione uma regra de exceção no seu IDS/IPS para os intervalos de IP e domínios do Discord.
Discord funciona em alguns clientes, mas não em outros
Verifique se os clientes afetados estão usando VPN ou proxy. VPNs roteiam o tráfego para fora das regras do pfSense. Desative qualquer software de VPN no cliente e teste novamente. Também certifique-se de que o resolvedor DNS do pfSense não está bloqueando domínios do Discord. Vá para Services > DNS Resolver e verifique se alguma lista de bloqueio personalizada está habilitada.
Tipos de endpoint do Discord: Voz vs Mídia vs Gateway
| Item | Endpoints de Voz | Endpoints de Proxy de Mídia | Endpoints de Gateway |
|---|---|---|---|
| Finalidade | Chamadas de áudio e vídeo em tempo real | Uploads de imagens, anexos de arquivos, prévias de incorporação | Chat de texto, notificações, presença, conexões WebSocket |
| Protocolo e Portas | UDP 50000-65535 | HTTPS TCP 443 | HTTPS TCP 443 (WebSocket) |
| Fonte do Intervalo de IP | Blocos CIDR publicados pelo Discord (veja acima) | Mesmos blocos CIDR mais domínios CDN | Mesmos blocos CIDR mais discord.com, discordapp.com |
| Sintoma Comum de Falha | Erro “No Route” no canal de voz | Imagens não carregam, uploads de arquivos falham | App travado em “Conectando” |
Liberar os endpoints do Discord no pfSense requer a criação de dois aliases e quatro regras de firewall. O segredo é permitir tráfego UDP em portas altas para voz e TCP nas portas 80 e 443 para web e mídia. Após configurar as regras, mova-as acima de quaisquer regras de bloqueio e teste com uma chamada de voz do Discord. Se você usa IDS/IPS, adicione os intervalos de IP do Discord à sua lista de permissões também. Para manutenção contínua, configure o alias de URL para atualizar automaticamente ativando a opção “Auto-update” nas configurações do alias. Isso garante que seu firewall permaneça atualizado com a infraestrutura em mudança do Discord.