---
title: Nós de VPN e proxy IPv6
description: Prepare Linux hosts as VPN and IPv6 proxy nodes: OS, IP addresses, IPv6 prefixes, ports, sysctl, install and heartbeat.
url: https://nexcmp.com/pt/docs/infrastructure/vpn-proxy-nodes/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Nós de VPN e proxy IPv6 {#vpn-and-ipv6-proxy-nodes}

> **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 {#what-it-does}

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 {#requirements}

### Nó de VPN {#vpn-node}

| 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. |
| E-mail | 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 {#ipv6-proxy-node}

| 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 {#prepare-the-infrastructure}

### Nó de VPN {#vpn-node-1}

1. **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.
2. **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 lo` para 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 rotas `local` apenas 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.
3. **Abra o firewall.** Permita TCP e UDP de entrada **65001-65535** nos endereços públicos e HTTPS de saída para o painel.
4. **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 comando `acct` ao agente, que também grava `/etc/sysctl.d/99-cmp-agent.conf`. A função de VPN em si não precisa disso.
5. **Verifique o painel a partir do nó:**

   ```bash
   curl -fsS -o /dev/null -w '%{http_code}\n' https://cloud.example.com/install.sh
   ```

### Nó de proxy IPv6 {#ipv6-proxy-node-1}

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.

::: warning 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 {#connect-in-nexcmp}

### Nó de VPN {#vpn-node-2}

1. Em **System › Admin › License & updates**, ative o botão **VPN**. Consulte [Modules](https://nexcmp.com/pt/docs/infrastructure/modules/).

      ![O cartão do módulo com os botões VPN e IPv6 Proxy](https://nexcmp.com/pt/docs/images/infrastructure/vpn-proxy-nodes-01-modules.webp)

2. 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.50` |
   | Porta SSH | `22` |
   | Usuário SSH | `root` |
   | Senha SSH | `XXXX` |
   | Nome 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/24` |
   | Habilitar 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.

      ![Diálogo Add Node via SSH com um exemplo de endereço de servidor e função](https://nexcmp.com/pt/docs/images/infrastructure/vpn-proxy-nodes-02-add-server-ssh.webp)

   **b. Instalação manual.** Clique em **Generate manual install token**. O comando aparece **uma única vez**; copie-o e execute-o no nó:

   ```bash
   curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --token XXXX --name node-ny-1
   ```

   A 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 vpn` ao 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.

      ![Diálogo do comando de instalação mostrando o comando de token de uso único](https://nexcmp.com/pt/docs/images/infrastructure/vpn-proxy-nodes-03-install-command.webp)

   O que o instalador faz: ele baixa `cmp-agent-linux-amd64` do seu painel, **verifica seu SHA-256**, instala-o em `/usr/local/bin/cmp-agent`, registra-se com o token, grava `/etc/cmp-agent/agent.json` e inicia o serviço systemd `cmp-agent`. Para removê-lo: `curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --uninstall`.

3. 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.
4. 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.

      ![Pools de IPs de VPN com intervalos relatados por um nó](https://nexcmp.com/pt/docs/images/infrastructure/vpn-proxy-nodes-04-vpn-pool.webp)

5. 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.
6. **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 Proxy` ou `Static Residential Proxy`; até 40 caracteres; vazio mantém `VPN`). Isso altera apenas os rótulos: rotas, dados e a API não mudam.

### Nó de proxy IPv6 {#ipv6-proxy-node-2}

1. Em **System › Admin › License & updates**, ative **IPv6 Proxy**.
2. 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**.

      ![Diálogo de adição de nó IPv6 com exemplo de endereço e motivo](https://nexcmp.com/pt/docs/images/infrastructure/vpn-proxy-nodes-05-proxy6-add-node.webp)

3. 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.
4. 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.
5. 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.
6. 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 significa `https://<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.

::: tip 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 {#how-a-node-reports}

| | 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 {#data-allowance-on-a-vpn-node}

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 {#retired-vpn-add-ons}

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 {#verify}

1. A linha do nó está online. Para um nó VPN, **Agents & external nodes** exibe sua zona, país, função e faixas detectadas.
2. **VPN IP pools** lista as faixas com IPs livres; a página de detalhes da zona exibe a infraestrutura de VPN.
3. 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`).
4. Em um nó IPv6, execute no host:

   ```bash
   systemctl is-active <node service>
   nft list tables | grep proxy6
   ss -ltn | grep -E ':(80|443|6[0-9]{4})\b'
   ```

## Limites e observações {#limits-and-notes}

- 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 {#troubleshooting}

| 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**. |
