VpnHood!

Defina os endereços IP do seu servidor

Uma chave de acesso informa aos aplicativos a qual endereço se conectar. O servidor costuma identificar isso automaticamente, mas em uma máquina com múltiplos IPs pode ser preciso defini-lo: o endereço em que o servidor escuta e o endereço inserido nas chaves.

Como o servidor identifica seu endereço

Por padrão, o servidor escuta em todos os endereços da máquina, na porta TCP 443.

Para as chaves, ele consulta o endereço por meio de seu tráfego de saída: pergunta a um serviço web de onde vem essa conexão. Em servidores gerenciados, o VpnHood! MANAGER faz o mesmo via Automatic Configuration e ajusta os pontos de acesso. O recurso vem ativado por padrão.

Isso identifica o endereço correto na maioria dos casos. Configure manualmente quando:

  • A máquina envia tráfego por um endereço diferente daquele usado para conexões, como um IP de saída dedicado. A consulta automática detectaria o IP de saída.
  • A máquina possui mais de um IP público e as chaves devem usar um endereço específico.
  • A consulta falha, por exemplo, se a máquina não alcançar o serviço web. Nesse caso, um servidor independente não inicia e o log exibe PublicEndPoints has not been configured properly.

Em um servidor gerenciado

No VpnHood! MANAGER, abra Servers, selecione o servidor e localize seus Access Points. Cada ponto de acesso é um endereço do servidor com suas portas.

Pontos de Acesso de um servidor no VpnHood! MANAGER, com a Configuração Automática desativada
O novo endereço, 203.0.113.10, entra nas chaves. O antigo, 198.51.100.20, fica de fora, mas o servidor continua escutando nele para atender aplicativos com chaves antigas.

Para configurá-los manualmente, desative Automatic Configuration: enquanto estiver ativa, a lista não pode ser alterada. O MANAGER solicita confirmação porque o servidor será reiniciado com as novas configurações.

Duas configurações definem a função de cada endereço:

  • Mode define quem recebe o endereço. PublicInToken inclui o endereço em todas as chaves de acesso do farm de servidores. Public mantém fora das chaves, e o MANAGER só o envia ao aplicativo ao direcioná-lo para este servidor. Private nunca é enviado aos aplicativos.
  • Listen define se o servidor escuta no endereço. Marque Yes apenas para endereços roteados pelo provedor até a máquina: no Linux, o servidor adiciona automaticamente à sua rede um endereço de escuta que a máquina não possui.

UDP Port e QUIC Port são opcionais; -1 desativa qualquer uma delas.

Em nuvens onde a máquina possui apenas IPs privados (como AWS, Google Cloud, Azure ou Oracle Cloud), adicione o endereço privado com Mode Private e Listen Yes, e o IP público com PublicInToken e Listen No, na mesma porta. O Automatic Configuration faz isso automaticamente.

Para conferir, abra o farm de servidores: a página lista os endereços incluídos nas chaves em Access Points.

Em um servidor independente

O servidor lê as configurações em /opt/VpnHoodServer/storage/appsettings.json. Novas instalações não têm esse arquivo: basta criá-lo e o servidor passará a usá-lo. Duas opções em FileAccessManager definem os endereços:

  • TcpEndPoints lista os endereços e portas em que o servidor escuta.
  • PublicEndPoints lista os endereços e portas que entram nas chaves de acesso. Use apenas endereços reais: 0.0.0.0 ou [::] aqui impedem o servidor de iniciar.

O arquivo completo: o servidor escuta em todos os endereços e inclui 203.0.113.10 nas chaves

{
  "FileAccessManager": {
    "TcpEndPoints": [ "0.0.0.0:443", "[::]:443" ],
    "PublicEndPoints": [ "203.0.113.10:443" ],
    "SslCertificatesPassword": null
  },
  "ServerConfig": {
    "LogAnonymizer": true,
    "AddListenerIpsToNetwork": "*"
  },
  "LogLevel": "Information"
}

Para escutar em apenas um endereço, como em um IP de saída dedicado, adicione-o também em TcpEndPoints. Fora do Docker, o servidor vincula esse endereço à rede da máquina por conta própria, caso ela ainda não o tenha.

Se usar também UdpEndPoints ou QuicEndPoints, defina para eles o mesmo endereço do TCP.

Em provedores de nuvem onde a máquina tem apenas IPs privados (como AWS, Google Cloud, Azure ou Oracle Cloud), escute no IP privado ou em todos os endereços e insira o IP público em PublicEndPoints.

Em seguida, reinicie o servidor com sudo systemctl restart VpnHoodServer ou com sudo docker restart VpnHoodServer no Docker. Para verificar, gere uma chave com vhserver gen: a linha HostEndPoints: mostrará os endereços incluídos.

Chaves já distribuídas

Como a chave guarda os endereços de quando foi criada, aplicativos com chaves antigas continuam tentando o endereço anterior. Como cada aplicativo atualiza a chave automaticamente ao se conectar, mantenha o servidor escutando no endereço antigo por alguns dias antes de removê-lo.

Em um servidor gerenciado, mantenha-o como ponto de acesso com Mode Private e Listen Yes: os aplicativos recebem a nova chave porque Push token to clients fica ativado por padrão. Em um servidor avulso (standalone), mantenha o endereço antigo apenas em TcpEndPoints.

Aplicativos que perderem o acesso ao endereço antigo precisarão de uma nova chave. Usando um nome de domínio com certificado emitido por uma autoridade certificadora, as chaves localizam o novo endereço via DNS, evitando interrupções em futuras alterações.

Próximos passos