Implementando uma VPN Moderna e Funcional na Era das Bloqueios: Teoria e Prática
Nos últimos tempos, a questão dos bloqueios de acesso à internet tem se tornado cada vez mais relevante, impulsionando a busca por soluções eficazes. Este artigo se propõe a explorar a criação de uma VPN moderna e funcional, capaz de operar de forma resiliente em cenários de censura, com foco especial nas realidades atuais. Abordaremos desde a compreensão geral do problema e suas soluções, passando pelo conhecimento teórico essencial para a implementação de VPNs, até um guia prático baseado em um exemplo concreto.
O Início da Jornada e a Primeira Batalha Contra o Bloqueio
Há cerca de dois meses, a decisão de criar uma VPN própria, em vez de depender de serviços pagos, marcou o início desta jornada. A escolha recaiu sobre a combinação de VLESS com REALITY, utilizando TCP como transporte e uma arquitetura de dois servidores. É crucial ressaltar a importância de utilizar servidores VPS dedicados para esta finalidade, distintos daqueles que hospedam serviços essenciais, a fim de mitigar riscos. Inicialmente, a satisfação com o funcionamento impecável da configuração era alta, com a expectativa de uma solução infalível. Contudo, essa percepção foi rapidamente desafiada.
Há duas semanas, após um período de um mês e meio de operação contínua, a VPN apresentou falhas. A investigação inicial descartou problemas nos servidores, que permaneciam operacionais. A suspeita recaiu sobre o primeiro VPS. Uma tentativa de conexão direta a um servidor europeu funcionou, mas apenas por breves instantes. A análise do cliente VPN revelou problemas na fase de TLS handshake, indicando que o bloqueio não se dava por IP. Ao monitorar a conexão, observou-se que, embora ativa, ela era interrompida em poucos segundos, provavelmente por meio de pacotes RST. A dificuldade em identificar o método de detecção da combinação VLESS+REALITY gerou incerteza. As hipóteses incluíam a capacidade de decifrar o pacote de dados aninhado e extrair o SNI (Server Name Indication), apesar da camuflagem proporcionada pelo REALITY, ou a detecção do uso de TCP como transporte, devido à persistência da conexão mesmo após requisições web aparentemente concluídas. Outra possibilidade era a necessidade de atualização do certificado do site utilizado pelo REALITY, ou a troca de impressões digitais e chaves.
A Resposta Estratégica e a Evolução da Solução
Para superar esses desafios, a solução encontrada foi a migração para XHTTP como transporte e a alteração do recurso cujo certificado é utilizado. O mecanismo XHTTP fragmenta e encapsula os dados da VPN em requisições HTTP padrão. Essa abordagem elimina a necessidade de conexões TCP prolongadas e não estruturadas, substituindo-as por conexões curtas que mimetizam o tráfego web legítimo. A nova configuração, VLESS + REALITY + XHTTP, demonstrou ser eficaz, restabelecendo o funcionamento da VPN. No entanto, a expectativa é de que novas tentativas de bloqueio ocorram, exigindo vigilância contínua.
Fundamentos de VPN e Protocolos Modernos
Uma Rede Privada (Private Network) tradicionalmente se refere a uma conexão física dedicada entre dois pontos, como escritórios de uma mesma empresa, garantindo segurança contra interceptação de tráfego externo. A evolução para VPN (Virtual Private Network) permitiu o uso da infraestrutura de internet global, com o termo "Private" indicando o uso de criptografia para ocultar o tráfego. A criação de uma rede local virtual é realizada encapsulando pacotes com endereços IP virtuais dentro de pacotes com endereços IP reais. Ao conectar-se a um servidor VPN, o cliente recebe um endereço IP virtual e uma interface de rede virtual.
Atualmente, protocolos como OpenVPN, WireGuard, L2TP e IPsec são considerados facilmente detectáveis por meio de inspeção profunda de pacotes (DPI), que analisa cabeçalhos e portas, levando à interrupção da conexão. Para 2026, uma das abordagens mais promissoras para a implementação de VPNs reside na combinação do protocolo VLESS, do mecanismo REALITY e do transporte XHTTP. REALITY e XHTTP trabalham em conjunto para mascarar o tráfego da VPN como uma comunicação HTTPS legítima.
Protocolo VLESS
VLESS (Very Lightweight Encryption Security Stream) é um protocolo desenvolvido pelo projeto V2Ray como substituto do VMess. Diferentemente de seu antecessor, o VLESS não possui criptografia embutida; a segurança é provida pelo REALITY. Na camada OSI, o VLESS opera entre as camadas de sessão (5) e apresentação (6). Ele utiliza um cabeçalho mínimo com informações de serviço, enviado imediatamente após o estabelecimento da conexão TLS e criptografado:
- [Version: 1 byte]: 0x00
- [UUID: 16 bytes]: Identificador do cliente.
- [AddInfo Length: 1 byte]: Comprimento das informações adicionais.
- [AddInfo: variável]: Metadados opcionais.
- [Command: 1 byte]: 0x00 para TCP, 0x01 para UDP.
- [Port: 2 bytes]: Porta de destino.
- [AddrType: 1 byte]: 0x01 para IPv4, 0x02 para domínio, 0x03 para IPv6.
- [Address: variável]: Endereço de destino.
O servidor VPN verifica o UUID. Se válido, a conexão VLESS sobre TCP é estabelecida. Caso contrário, ou se os cabeçalhos não forem enviados, o certificado do site configurado é apresentado, função esta desempenhada pelo REALITY. A estrutura de pacote descrita acima é para o primeiro pacote após o TLS; pacotes subsequentes contêm apenas dados sem cabeçalhos VLESS.
Mecanismo REALITY
REALITY é uma tecnologia especializada em ofuscação de sessões TLS, operando na camada de apresentação. Ele aprimora o TLS 1.3, utilizando o certificado de um site legítimo e redirecionando todo o tráfego não autorizado para esse site. Ao enviar o "Client Hello", um pacote com o SNI do site alvo é transmitido. Em resposta, o servidor envia o certificado público do site e a chave pública do REALITY, que são verificados com a configuração do cliente VPN. Em seguida, uma chave simétrica compartilhada é gerada com o servidor, e o primeiro pacote VLESS com o UUID é enviado.
Ofuscação com XHTTP
O problema com o tráfego criptografado é que a inspeção profunda de pacotes (DPI) ainda pode analisar o comportamento do tráfego (tempos, tamanhos de pacotes, estrutura do fluxo). O transporte TCP tradicional é facilmente detectável. Para contornar isso, utiliza-se o XHTTP (Extensible HTTP), um protocolo de transporte que opera na camada de aplicação e serve como base para o VLESS. O XHTTP divide o tráfego da VPN e o encapsula em requisições HTTP/2 ou HTTP/3 padrão. Ele simula as latências naturais da navegação web e ajusta os cabeçalhos para que o comportamento do tráfego se alinhe perfeitamente com a arquitetura do site escolhido no REALITY. Essa camuflagem, no entanto, pode resultar em um ligeiro aumento nas latências.
Implementação Prática: VPN com VLESS + REALITY + XHTTP
Vamos detalhar um dos métodos mais diretos para implementar sua própria VPN utilizando a combinação VLESS + REALITY + XHTTP.
Configuração do Servidor VPN
Para gerenciar a VPN, recomenda-se a instalação do painel de controle 3X-UI em seu VPS ou dispositivo. Este painel oferece uma interface web amigável para configuração. Além disso, é necessário instalar o núcleo XRay e configurar dois serviços systemd para gerenciar o painel e o núcleo XRay, que será responsável pelo roteamento do tráfego conforme a configuração gerada pelo painel.
A instalação pode ser realizada com um único comando:
bashbash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Durante a instalação, você definirá o login e a senha de acesso ao painel, obterá uma chave secreta e escolherá a porta para o painel. Para simplificar, não é recomendado configurar um certificado SSL para o painel neste estágio.
Embora a instalação de scripts da internet possa apresentar riscos, o repositório do 3X-UI é popular e de código aberto. Uma alternativa é a configuração manual via linha de comando, mas ainda assim será necessário obter o núcleo XRay, que também pode conter backdoors.
Alguns pontos importantes durante a instalação:
- Selecione SQLite como banco de dados para VPNs não comerciais.
- Escolha a porta para acesso ao painel 3X-UI.
- Geralmente, a quarta opção é a mais conveniente.
Após a instalação, você receberá as informações necessárias. Acesse o painel via navegador em http://IP_servidor:porta/chave_secreta, utilizando o login e senha definidos. Na seção de conexões, crie uma nova conexão, selecione o protocolo VLESS e a porta que o núcleo XRay irá escutar. Portas como 443 ou 80 são menos detectáveis, mas impedem o uso de outros serviços nessas portas.
Na aba "Cliente" (ou seção equivalente), gere um ID e uma "Subscription". O campo de e-mail pode ser preenchido com qualquer informação. As configurações de criptografia e autenticação não precisam ser alteradas, pois VLESS e REALITY cuidam disso.
Selecione o transporte XHTTP e defina um caminho (ex: /video). Na aba "Segurança", escolha REALITY e um "fingerprint" de sua preferência. Nas abas "Target" e "SNI", insira o recurso cujo certificado será utilizado, incluindo a porta (ex: google.com:443).
Gere os "ShortIDs" – uma segunda chave secreta para autenticação do cliente pelo REALITY, diferenciando seus usuários. Esses ShortIDs são incorporados ao campo "Random" para a criação da chave simétrica compartilhada durante o "Client Hello".
Genere também as chaves privada e pública do REALITY. A chave privada do servidor é usada para assinar o certificado, que é enviado criptografado após o TLS handshake, permitindo que o cliente verifique a autenticidade do servidor.
Clique em "Criar", depois nos três pontos e "Exportar links". Salve o link gerado e prossiga para a configuração do servidor intermediário, se aplicável.
Configuração do Proxy no Servidor Intermediário
Para o roteamento de porta, pode-se usar iptables, mas o Gost é uma alternativa mais flexível. Baixe o binário do Gost:
bashwget https://github.com/go-gost/gost/releases/download/v3.2.6/gost_3.2.6_linux_amd64.tar.gz tar -xvzf gost_3.2.6_linux_amd64.tar.gz chmod +x gost
Inicie o encaminhamento de porta para o servidor VPN:
bashsudo ./gost -L tcp://:porta_deste_servidor/ip_vpn:porta_vpn
Verifique o funcionamento. Se tudo estiver correto, pare o processo atual e crie um arquivo de serviço systemd:
bashsudo nano /etc/systemd/system/gost.service
Cole o seguinte conteúdo, ajustando IPs e portas:
ini[Unit] Description=Gost Proxy Relay After=network.target [Service] Type=simple User=root ExecStart=/gost -L tcp://:443/7.56.6.59:443 -L udp://:443/7.56.6.59:443 Restart=always [Install] WantedBy=multi-user.target
Reinicie o serviço:
bashsudo systemctl restart gost sudo systemctl status gost
Com isso, a configuração do servidor intermediário está completa. Agora, vamos à configuração do cliente.
Configuração do Cliente VPN
Utilize um cliente VPN de sua preferência, como HAPP ou V2Raytune, e insira o link vless:// gerado no painel 3X-UI. Nas configurações da nova conexão, altere o IP do servidor VPN para o IP do seu servidor intermediário. Recomenda-se configurar o roteamento para que aplicativos que não necessitam de VPN não a utilizem. Ative a autenticação SOCKS5 para evitar que outros aplicativos detectem o túnel.
Com estes passos, sua VPN moderna e funcional estará configurada. Este guia visa fornecer um ponto de partida sólido, e estamos à disposição para responder a quaisquer dúvidas nos comentários.





