Nós de VPN e proxy IPv6
Onde encontrar no admin: Infrastructure › VPN & Proxy nodes › Agents & external nodes (
/agents), VPN IP pools (/vpn/pool), IPv6 Proxy nodes (/vpn/proxy6/nodes). Os serviços em si ficam em Services › VPN e Services › IPv6 Proxy. Ambos os módulos são ativados em System › Admin › License & updates.
O que faz
O NexCMP vende acesso a VPN e proxy com saída por endereços IP que você possui, em servidores operados por você. Existem dois tipos de nó:
- Nó de VPN. Um pequeno programa em Go,
cmp-agent, é executado no seu host Linux. Ele descobre os endereços IPv4 públicos no host, abre um listener SOCKS5, HTTP e UDP em cada endereço vendido e envia o tráfego a partir do mesmo IP ao qual o cliente se conectou (saída pelo mesmo IP). Ele envia relatórios ao painel a cada poucos segundos. - Nó de proxy IPv6. Um serviço de proxy que fornece aos clientes endereços de um prefixo IPv6 roteado para o host. O painel o instala para você via SSH.
Use-os para revender endereços IP limpos nos países onde você possui servidores.
Requisitos
Nó de VPN
| Item | Requisito |
|---|---|
| Sistema operacional | Uma distribuição Linux com systemd e kernel 4.15 ou mais recente (suporte a free-bind de IPv6). O binário do agente fornecido é apenas para x86_64 (amd64). |
| Privilégios | root, para a instalação. O serviço mantém apenas CAP_NET_ADMIN, CAP_NET_RAW e CAP_DAC_READ_SEARCH. |
| Ferramentas | curl ou wget e sha256sum (o instalador recusa-se a continuar sem verificar o arquivo). |
| Endereços públicos | Endereços IPv4 públicos atribuídos a uma interface do host (um /32 cada) ou um prefixo roteado para o host que você adiciona como uma sub-rede extra (IPv4 /16 a /32, IPv6 /48 a /128). Intervalos privados, CGNAT e de documentação são ignorados. |
| Rede, entrada | Os clientes se conectam a cada IP público vendido nas portas 65001-65535 (TCP para SOCKS5 e HTTP, UDP para associação UDP). Cada endpoint usa um conjunto de três portas consecutivas. |
| Rede, saída | HTTPS (443) para o domínio do seu painel. O agente também consulta seu próprio país em ip-api.com (HTTP) e ipinfo.io (HTTPS), com limite de 3.5 segundos. |
| Conexões de saída para a porta 25 são sempre bloqueadas; não há configuração para liberá-la. | |
| Docker, VPN e interfaces virtuais | Interfaces chamadas docker*, veth*, br-*, cni*, flannel*, virbr*, cali*, tun*, tap*, wg* e tailscale* não fornecem endereços. |
| Depende de | O módulo VPN, uma zona (criada automaticamente a partir do país do host) e o painel NexCMP acessível via HTTPS. |
Nó de proxy IPv6
| Item | Requisito |
|---|---|
| Sistema operacional | Linux com systemd em x86_64. Os comandos systemctl, nft, ip, ss, sysctl e useradd devem existir; caso contrário, a instalação para e indica o comando ausente. |
| Acesso para a instalação | Um endereço IPv4 público (endereços privados, de loopback e CGNAT são recusados), a porta SSH, uma conta com privilégios de root ou sudo e a respectiva senha. A senha é usada apenas para a instalação e não é armazenada. |
| Portas livres | 80, 443 e todas as portas acima de 60000 devem estar livres. O instalador nunca interrompe ou altera serviços que já estejam em execução; ele relata as portas ocupadas e para. |
| IPv6 | Um prefixo público entre /32 e /64 dentro de 2000::/3 que o host pode usar como origem para tráfego de saída, entregue como roteado para o host ou on-link com proxy NDP (consulte abaixo). |
| Rede | Os clientes se conectam ao IPv4 do nó na porta 80 (proxy HTTP), porta 443 (SOCKS5) e portas 60001-65535 (uma porta por IP estático). O nó não possui certificado, portanto não há proxy HTTPS. O tráfego sai apenas via IPv6 e apenas para destinos que possuem um endereço IPv6. O nó obtém sua configuração a partir do painel via HTTPS. |
| Software de nó no servidor do painel | O daemon do nó e seu script de rede vêm no pacote de release do NexCMP. O painel os copia de sua pasta de instalação (/opt/nexcmp/releases/<version>/bin, ou /opt/nexcmp/bin em um build customizado) para cada nó durante a instalação. O servidor do painel também precisa de sshpass e de um cliente SSH; o instalador adiciona sshpass, e em um servidor instalado antes da 1.4.2 você o adiciona com sudo apt-get install -y sshpass. |
| Depende de | O módulo IPv6 Proxy e a URL do painel para a qual os nós retornam chamadas (IPv6 Proxy › Settings › Panel URL for nodes, padrão https://<your license domain>). |
Preparar a infraestrutura
Nó de VPN
Provisione o host com um Linux compatível e os endereços IPv4 públicos que você deseja vender, configurados na interface de rede ou roteados para o host.
Se você vende um bloco roteado, planeje inseri-lo como uma Extra subnet ao adicionar o nó. O agente instala uma rota
local <block> dev lopara que o host aceite tráfego para cada endereço no bloco e, em seguida, relata os endereços que encontrar. O agente também lê a tabela de roteamento real do host e nunca vende ou captura um endereço de gateway: se o bloco contiver o next-hop de uma das rotas do host (por exemplo, o endereço de roteador de um bloco on-link), o agente instala rotaslocalapenas para as partes do bloco ao redor dele, relata o gateway ao painel, e o painel mantém esse endereço fora do pool e fora de qualquer alocação. Ele remove as rotas instaladas quando a sub-rede extra é alterada ou quando o agente para.Abra o firewall. Permita TCP e UDP de entrada 65001-65535 nos endereços públicos e HTTPS de saída para o painel.
Opcional: contadores de bytes por IP. A contabilização de Conntrack (
net.netfilter.nf_conntrack_acct = 1) permite que a função de monitoramento conte bytes por IP. O painel pode ativá-la enviando um comandoacctao agente, que também grava/etc/sysctl.d/99-cmp-agent.conf. A função de VPN em si não precisa disso.Verifique o painel a partir do nó:
bashcurl -fsS -o /dev/null -w '%{http_code}\n' https://cloud.example.com/install.sh
Nó de proxy IPv6
Um prefixo IPv6 chega ao nó de duas maneiras. O instalador testa ambas com conexões de saída reais e mantém o que funcionar.
| Tipo | O que significa | O que você configura |
|---|---|---|
| Roteado | Seu upstream roteia um prefixo (por exemplo, um /48 ou /56) para o próprio endereço do nó. Pacotes de saída podem usar qualquer endereço no prefixo como origem, e as respostas retornam ao nó. | Solicite ao seu provedor um prefixo roteado cujo próximo salto seja o nó. Nada mais no nó: o serviço de proxy usa sockets transparentes, uma tabela de roteamento de política fixa e nft. |
| On-link | O /64 fica na mesma LAN que o nó. As respostas funcionam apenas se o nó atender à descoberta de vizinhos para cada endereço em uso (NDP proxy). | O serviço define, apenas nessa interface, net.ipv6.conf.<if>.accept_ra=2, forwarding=1 e proxy_ndp=1, memoriza os valores antigos, restaura-os ao parar e bloqueia o encaminhamento dos endereços do pool para que o nó não se torne um roteador para o pool. |
Como a verificação funciona: o nó tenta uma conexão TCP com um endereço IPv6 público (porta 443) a partir de um endereço aleatório do prefixo candidato, em até 6 segundos. Os candidatos são endereços globais em interfaces com prefixo /64 ou mais curto, além de rotas do tipo local, unreachable ou blackhole entre /16 e /64. Um prefixo mais curto que /64 é aceito como roteado se um /64 aleatório dentro dele funcionar.
Não use o mesmo prefixo duas vezes
Um prefixo não pode sobrepor o prefixo de outro nó e não pode ser mais amplo do que um prefixo que já pertença ao próprio pool IPv6 do painel. Um /64 dentro do pool do painel é permitido. Sobreposições são relatadas como "assign range … (node …)" no resultado da instalação, e o prefixo é ignorado.
Restrições que o nó aplica por conta própria: os clientes não podem enviar e-mails (portas 25, 465, 587, 2525) a partir dos endereços do pool, e o tráfego IPv4 próprio do daemon é limitado a respostas, ao painel e ao DNS.
Conectar no NexCMP
Nó de VPN
Em System › Admin › License & updates, ative o botão VPN. Consulte Modules.

Abra Infrastructure › VPN & Proxy nodes › Agents & external nodes. Você tem duas maneiras de adicionar um nó.
a. Instalar via SSH. Clique em + Add server (SSH) e preencha:
Campo Valor de exemplo Endereço IPv4 do servidor 192.0.2.50Porta SSH 22Usuário SSH rootSenha SSH XXXXNome de exibição node-ny-1(vazio: nomeado com base no IP)Função do servidor External VPN / Proxy Node Atribuição de zona Automático por GeoIP (criar/atribuir zona) ou uma zona existente Sub-rede extra (opcional) vazio para escanear automaticamente as interfaces, ou um bloco roteado como 203.0.113.0/24Habilitar para venda após a instalação ativado para marcar cada endereço detectado como vendível Clique em Connect & install. O painel se conecta via SSH, executa o instalador de linha única no nó com um tíquete de uso único e exibe o nome do nó, a localização GeoIP e os intervalos detectados.

b. Instalação manual. Clique em Generate manual install token. O comando aparece uma única vez; copie-o e execute-o no nó:
bashcurl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --token XXXX --name node-ny-1A instalação por token registra a máquina apenas para monitoramento: por segurança, o painel não permite que uma máquina com o token compartilhado atribua a si mesma a função VPN (adicionar
--roles vpnao comando não tem efeito). Depois que a máquina aparecer na lista, abra-a e adicione a função VPN manualmente. A instalação via SSH (opção a) atribui ao nó a função VPN desde o início. Um novo token cancela o anterior; hosts já registrados continuam funcionando porque utilizam sua própria chave.
O que o instalador faz: ele baixa
cmp-agent-linux-amd64do seu painel, verifica seu SHA-256, instala-o em/usr/local/bin/cmp-agent, registra-se com o token, grava/etc/cmp-agent/agent.jsone inicia o serviço systemdcmp-agent. Para removê-lo:curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --uninstall.Após o primeiro heartbeat, o nó aparece na lista. Seu país é detectado por GeoIP (primeiro pela consulta do próprio nó, depois pelo banco de dados do painel); uma zone para esse país é criada e tornada pública caso não exista, e os endereços encontrados no host tornam-se intervalos do pool.
Abra Infrastructure › VPN & Proxy nodes › VPN IP pools para ver os intervalos, sua zona e nó, e para alterar a zona, o nó ou a opção Sellable de cada intervalo. Enable range permite que novos pedidos usem seus IPs livres; Disable range apenas interrompe novas alocações, os IPs já alocados continuam funcionando.

Abra Services › VPN, defina a tabela de preços e ative as vendas. A chave Sell VPN em Subscriptions é a mesma chave do módulo VPN em License & updates.
Opcional: renomeie o serviço. Em Settings › Branding, VPN service display name altera como o serviço de VPN é exibido no menu do cliente, na página de pedidos, na página de detalhes e na lista de deploy (por exemplo,
IPv4 Proxy,Datacenter ProxyouStatic Residential Proxy; até 40 caracteres; vazio mantémVPN). Isso altera apenas os rótulos: rotas, dados e a API não mudam.
Nó de proxy IPv6
Em System › Admin › License & updates, ative IPv6 Proxy.
Abra Infrastructure › VPN & Proxy nodes › IPv6 Proxy nodes e clique em Add node (SSH). Insira o endereço IPv4 do nó, porta SSH, usuário, senha, um nome opcional e um Reason (ele vai para o log de auditoria), depois clique em Install.

Em seguida, o painel executa em ordem: verifica a máquina e as portas, copia o daemon, o script de rede, a unidade de serviço e um arquivo de ambiente específico do nó (um token de nó e uma chave de assinatura de senha), executa a probe de prefixos utilizáveis, registra os prefixos no pool, inicia o serviço e aguarda até 90 segundos pelo primeiro relatório. O Install log mostra cada etapa.
Um novo nó cria sua zona no estado off (a partir do GeoIP do IPv4 do nó). Ative a zona em Infrastructure › Datacenter › Zone para que os clientes possam escolhê-la.
Defina um limite total de Mbps cap por nó (de 10 a 100000 por direção). Em Services › IPv6 Proxy, defina a lista de preços e ative as vendas.
Verifique IPv6 Proxy › Settings › Panel URL for nodes. Os nós chamam esse endereço (
https://host, sem caminho) para obter sua configuração e enviar relatórios. Vazio significahttps://<your license domain>. Deve ser um host cujo endereço aponte diretamente para o painel, para que o próprio IPv4 do nó o alcance inalterado.
Cronograma de rotação
Os clientes podem definir um intervalo de rotação automática de 30 a 600 segundos. No NexCMP, o painel executa essa programação (e a limpeza horária dos logs de conexão); os nós recebem um novo endereço em cerca de 5 segundos.
Como um nó se comunica
Nó de VPN (cmp-agent) | Nó de proxy IPv6 | |
|---|---|---|
| Registro | Ticket ou token de uso único via HTTPS, depois chave própria | Instalação SSH única, depois token de nó |
| Heartbeat | A cada 5 segundos (10 s para agente apenas de monitoramento); o painel pode definir de 3 a 300 s. Após uma falha, aguarda em incrementos de 5 s até 60 s | O nó envia um relatório a cada 60 segundos aproximadamente e busca a configuração |
| Exibido como online | Um heartbeat nos últimos 60 segundos | alive nos últimos 120 segundos, caso contrário missed heartbeat |
| Alteração de configuração | Aplicada no próximo heartbeat | Aplicada em cerca de 5 segundos |
| Atualizações | O painel pode enviar um comando upgrade com a nova versão, URL e SHA-256 | Reinstalar a partir da linha do nó |
Franquia de dados em um nó VPN
A partir do NexCMP 1.5.1, o agente do nó VPN envia o tráfego transportado a cada heartbeat, e o painel o adiciona ao uso do plano no período atual. O mesmo valor é exibido para o cliente (abas Overview e Bandwidth) e para você (VPN › Subscriptions, coluna Used e na linha do nó).
- Corte. Quando um plano atinge o limite de GB do período, o painel para de enviar os endpoints desse plano ao agente, de modo que novas conexões são recusadas e as abertas são encerradas. O corte ocorre no intervalo de um heartbeat, portanto o plano pode ultrapassar ligeiramente o limite. Planos com nível Unlimited nunca sofrem cortes.
- Reativação. O plano volta a ser atendido no intervalo de um heartbeat após o cliente comprar mais largura de banda ou quando o próximo período começar.
- Não medido. Um nó cujo agente não enviou dados de uso (por exemplo, um agente mais antigo) é exibido como Not measured, e seus planos nunca são suspensos devido a GB.
- Atualize o agente. Use o agente 1.5.1 nos nós. Agentes mais antigos ainda são contabilizados, mas podem perder os bytes de um heartbeat que falhou, de um endpoint interrompido ou de uma reinicialização, e não fecham conexões abertas quando um plano é cortado. Atualize a partir da linha do nó (Reinstall) ou com o comando
upgrade. - A contagem é feita sobre o payload que passa pelo proxy, portanto é ligeiramente menor (cerca de 1 %) do que os bytes na rede.
Add-ons de VPN descontinuados
High IP Reputation, High Concurrency e High Priority Network não são mais oferecidos em novos pedidos. Assinaturas existentes mantêm suas seleções de add-ons, mas os valores de renovação têm as taxas descontinuadas removidas. Não há reembolso de períodos já pagos. O ajuste utiliza o preço de catálogo atual do add-on; se você alterou esse preço ou excluiu o add-on, revise o valor de renovação da assinatura antes da próxima renovação.
Verificar
A linha do nó está online. Para um nó VPN, Agents & external nodes exibe sua zona, país, função e faixas detectadas.
VPN IP pools lista as faixas com IPs livres; a página de detalhes da zona exibe a infraestrutura de VPN.
Contrate um plano de teste de VPN ou proxy. O cliente recebe um endpoint
ip:port, um nome de usuário e uma senha; conecte-se por meio deles e verifique se o IP público visível é o IP do nó (por exemplo,curl --proxy socks5h://USER:XXXX@IP:PORT https://ifconfig.me).Em um nó IPv6, execute no host:
bashsystemctl is-active <node service> nft list tables | grep proxy6 ss -ltn | grep -E ':(80|443|6[0-9]{4})\b'
Limites e observações
- Os hosts Windows podem executar o agente de monitoramento, mas não a função de VPN.
- Franquia de dados (GB por período) de um plano VPN: a partir do NexCMP 1.5.1, o painel soma o tráfego informado pelo agente do nó VPN e corta os proxies do plano quando os GB do período se esgotam (consulte "Franquia de dados em um nó VPN" abaixo). Planos IPv6 Proxy não possuem franquia de GB; eles limitam a velocidade em Mbps por plano.
- Os endereços IPv4 de um plano VPN não rotacionam. Um cliente relata um IP na lista de bloqueio; você ou o revendedor aprovam a substituição na mesma zona. Apenas o IPv6 Proxy rotaciona.
- No máximo 64 faixas são relatadas por pulso de batimento cardíaco.
- Um conjunto de endpoints VPN usa três portas por IP vendido. Com as portas 65001-65535, cada IP atende a um número limitado de endpoints (178 conjuntos de portas); o painel ignora conjuntos que já foram usados anteriormente.
- A exclusão de um nó de proxy IPv6 só é permitida quando nenhum plano possui um IP nele. Isso remove os intervalos e o token do nó; o software no host não é desinstalado.
- É possível revender um intervalo que também abriga suas próprias VMs: a VPN usa apenas as portas 65001-65535, portanto, compartilha o IP com outros serviços.
Resolução de problemas
| Sintoma | Causa | Correção |
|---|---|---|
| "falha no registro (token inválido ou servidor inacessível)" | Token incorreto ou já utilizado, ou o painel está inacessível | Gere um novo token ou tente a instalação via SSH novamente. |
| "divergência na assinatura do arquivo - STOP" | O agente baixado difere do SHA-256 publicado | Verifique a pasta /dl/ do painel e certifique-se de que nada reescreva o download no caminho. |
| "este instalador é apenas para Linux" / "a arquitetura … ainda não é suportada" | Windows ou uma arquitetura diferente de x86_64 (a versão inclui o agente apenas para x86_64) | Use um host Linux x86_64. |
| O nó nunca aparece | O nó não consegue alcançar o painel via HTTPS | Teste curl https://<domain>/install.sh a partir do nó; verifique o DNS e o firewall. |
| O nó aparece com o país incorreto | As consultas de país falharam, portanto, o banco de dados de endereços do painel foi usado | Permita o acesso de saída para ip-api.com e ipinfo.io ou escolha a zona explicitamente no formulário SSH. |
| Nenhum intervalo detectado | Nenhum IPv4 público em uma interface não virtual | Adicione um endereço público ou insira o bloco roteado como Extra subnet. |
| A VPN funciona, mas o tráfego sai por outro IP | O IP vendido não está atribuído ou roteado para o host | Certifique-se de que o IP está em uma interface ou coberto por local … dev lo. |
| "o servidor do painel não possui o sshpass" | O host do painel não consegue fazer login nos nós com senha | Execute sudo apt-get install -y sshpass openssh-client no servidor do painel e instale o nó novamente. |
| "não encontrado no pacote instalado" ao instalar um nó IPv6 | O painel é anterior a 1.4.2, ou uma build personalizada sem os arquivos do nó | Atualize o NexCMP para 1.4.2 ou posterior; para uma build personalizada, use build.sh, que agora empacota brandy-proxy6d e brandy-proxy6-net. |
| "SSH: …" no início de uma instalação IPv6 ou "SSH to internal/loopback addresses is not allowed" | Porta, usuário ou senha incorretos, SSH bloqueado ou o endereço é privado | Use o IPv4 público do nó e verifique o acesso manualmente com ssh -p PORT USER@IP. |
| "arquitetura … não suportada (apenas x86_64)" | O nó não é x86_64 | Use um host x86_64. |
| "comando ausente no node: …" | nft, ip, ss, sysctl, systemctl ou useradd não instalado | Instale os pacotes e execute a instalação novamente. |
| "portas em uso por outro serviço no node: … — 80, 443, 60001-65535 devem estar livres" | A porta 80, 443 ou uma porta acima de 60000 está ocupada | Mude o outro serviço de lugar; o instalador não o interrompe. |
| "nenhum prefixo IPv6 com acesso à Internet encontrado a partir do node (falha na sonda de saída real)" | Nenhum prefixo roteado, proxy NDP impossível ou sem IPv6 de saída | Verifique se o prefixo está roteado para o nó, se a interface tem conectividade IPv6 e se nada filtra o tráfego de saída. |
| "todas as faixas detectadas já pertencem a outro node" | O prefixo já está sendo usado por outro nó | Remova-o do outro nó ou escolha outro prefixo. |
| A instalação termina com "no initial report received from node" | O serviço iniciou, mas não alcançou o painel em 90 segundos | Verifique a URL do painel fornecida aos nós e o caminho HTTPS do nó até ela; consulte o Install log. |
| A linha do nó exibe missed heartbeat | Sem relatório por 120 segundos | Verifique o serviço no nó, seu relógio e seu caminho para o painel. |
| Os clientes não veem nenhuma localização IPv6 | A zona está desativada | Ative a zona em Zone. |