Defina os endereços IP do seu servidor
Uma chave de acesso indica aos aplicativos a qual endereço se conectar. O servidor costuma identificar isso automaticamente, mas em máquinas com múltiplos IPs você pode definir: o endereço em que ele escuta e o que vai nas chaves.
Como o servidor identifica o endereço
Por padrão, o servidor escuta em todos os endereços da máquina na porta TCP 443.
Para as chaves, ele detecta o IP pelo tráfego de saída, consultando um serviço web externo. 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 funciona na maioria dos casos. Configure manualmente se:
- A máquina envia tráfego por um endereço diferente do usado para conexão, como um IP de saída dedicado. A detecção automática identificaria o IP de saída.
- A máquina possui vários IPs públicos e as chaves devem usar um endereço específico.
- A detecção automática falhar (por exemplo, se a máquina não acessar o serviço web). Nesse caso, um servidor avulso não inicia e exibe o log
PublicEndPoints has not been configured properly.
Em um servidor gerenciado
No VpnHood! MANAGER, abra Servers, selecione o servidor e acesse Access Points. Cada ponto de acesso representa um endereço do servidor com suas portas.
203.0.113.10, é adicionado às chaves. O antigo, 198.51.100.20, fica fora delas, mas o servidor continua ouvindo nele para atender aplicativos com chaves antigas.
Para configurá-los manualmente, desative Automatic Configuration: com essa opção ativa, a lista não pode ser alterada. O MANAGER solicitará confirmação para reiniciar o servidor 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 em todas as chaves de acesso do farm de servidores. Public mantém-no fora das chaves, fornecendo-o ao aplicativo apenas quando direcionado a este servidor. Private nunca o compartilha com os aplicativos.
- Listen define se o servidor deve ouvir no endereço. Ative Yes apenas para endereços roteados pelo provedor para a máquina: no Linux, o servidor adiciona automaticamente à rede um endereço de escuta inexistente.
UDP Port e QUIC Port são opcionais; use -1 para desativar qualquer um deles.
Em serviços de nuvem com endereços apenas 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 de forma automática.
Para conferir, abra o farm de servidores: a página lista os endereços incluídos nas chaves em Access Points.
Em um servidor avulso
O servidor lê as configurações em /opt/VpnHoodServer/storage/appsettings.json. Esse arquivo não existe em novas instalações: crie-o para substituir as configurações padrão. Duas opções em FileAccessManager definem os IPs:
TcpEndPointslista os endereços e portas em que o servidor escuta.PublicEndPointslista os endereços e portas incluídos nas chaves de acesso. Use apenas endereços reais:0.0.0.0ou[::]aqui impedem a inicializaçã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 apenas em um endereço (como ao usar um IP de saída dedicado), adicione-o também em TcpEndPoints. Fora do Docker, o servidor adiciona esse endereço à rede da máquina automaticamente, se necessário.
Se usar também UdpEndPoints ou QuicEndPoints, defina 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 informe o IP público em PublicEndPoints.
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: exibirá os endereços configurados.
Chaves já distribuídas
Como cada chave contém os endereços de quando foi criada, aplicativos com chaves antigas continuarão tentando o endereço anterior. Como o aplicativo atualiza a chave sozinho ao se conectar, mantenha o servidor ouvindo no endereço antigo por alguns dias após a alteração 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 automaticamente com Push token to clients ativo. Em um servidor avulso, 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 sem interromper o serviço.