Configura las direcciones IP de tu servidor
Una clave de acceso indica a las aplicaciones a qué dirección conectarse. Normalmente el servidor la detecta de forma automática, pero si el equipo tiene varias direcciones IP, es posible que debas definirla: tanto la dirección en la que escucha el servidor como la que añade a las claves.
Cómo detecta el servidor su dirección
Por defecto, el servidor escucha en todas las direcciones del equipo mediante el puerto TCP 443.
Para generar las claves, consulta su dirección a través del tráfico saliente: pregunta a un servicio web desde qué IP proviene la conexión. En un servidor administrado, VpnHood! MANAGER hace lo mismo mediante Automatic Configuration y ajusta los puntos de acceso del servidor en consecuencia. Viene activado en cada servidor nuevo.
Este método funciona en la mayoría de los casos. Configúrala manualmente cuando:
- El equipo envía tráfico desde una dirección distinta a la que deben conectarse los usuarios, como una IP de salida independiente. De lo contrario, la autodetección tomaría la IP saliente.
- El equipo tiene más de una dirección IP pública y necesitas que las claves utilicen una en concreto.
- La detección falla, por ejemplo, si el equipo no puede comunicarse con el servicio web. En ese caso, un servidor independiente no arrancará y registrará
PublicEndPoints has not been configured properly..
En un servidor administrado
En VpnHood! MANAGER, abre Servers, selecciona el servidor y busca sus Access Points. Cada punto de acceso es una dirección del servidor con sus puertos.
203.0.113.10, se incluye en las claves. La antigua, 198.51.100.20, se excluye de ellas, pero el servidor sigue escuchando en ella para las aplicaciones con claves anteriores.
Para configurarlos manualmente, desactiva Automatic Configuration: mientras esté activa, la lista no se puede modificar. MANAGER te pedirá confirmación, ya que el servidor se reiniciará con los nuevos ajustes.
Dos ajustes definen la función de cada dirección:
- Mode define quién recibe la dirección. PublicInToken la incluye en todas las claves de acceso de la granja de servidores. Public la excluye de las claves y MANAGER solo se la entrega a una aplicación al dirigirla a este servidor. Private nunca se la entrega a las aplicaciones.
- Listen define si el servidor escucha en esa dirección. Selecciona Yes únicamente para direcciones que tu proveedor enrute a la máquina: en Linux, el servidor añade automáticamente a su red cualquier dirección de escucha que la máquina no tenga configurada.
UDP Port y QUIC Port son opcionales; usa -1 para desactivar cualquiera de ellos.
En nubes donde la máquina solo tiene direcciones privadas (como AWS, Google Cloud, Azure u Oracle Cloud), añade la dirección privada con Mode Private y Listen Yes, y la IP pública con PublicInToken y Listen No, en el mismo puerto. Automatic Configuration lo configura automáticamente.
Para comprobarlo, abre la granja de servidores: su página muestra las direcciones incluidas en sus claves bajo Access Points.
En un servidor independiente
El servidor lee su configuración en /opt/VpnHoodServer/storage/appsettings.json. Una instalación nueva no incluye este archivo: créalo y el servidor comenzará a usarlo en lugar de los valores iniciales. Dos opciones dentro de FileAccessManager definen las direcciones:
TcpEndPointsdefine las direcciones y puertos en los que escucha el servidor.PublicEndPointsdefine las direcciones y puertos que se incluirán en las claves de acceso. Utiliza únicamente direcciones reales: introducir0.0.0.0o[::]impedirá que el servidor se inicie.
Archivo completo: el servidor escucha en todas las direcciones e incluye 203.0.113.10 en las claves
{
"FileAccessManager": {
"TcpEndPoints": [ "0.0.0.0:443", "[::]:443" ],
"PublicEndPoints": [ "203.0.113.10:443" ],
"SslCertificatesPassword": null
},
"ServerConfig": {
"LogAnonymizer": true,
"AddListenerIpsToNetwork": "*"
},
"LogLevel": "Information"
}
Para escuchar solo en una dirección específica, como ocurre con una IP saliente dedicada, agrégala también a TcpEndPoints. Fuera de Docker, el servidor añade automáticamente a la red del equipo la dirección en la que escucha si aún no está configurada.
Si también usas UdpEndPoints o QuicEndPoints, asígnales la misma dirección configurada para TCP.
En entornos en la nube donde el equipo solo tiene direcciones privadas (como AWS, Google Cloud, Azure u Oracle Cloud), escucha en la dirección privada o en todas, y coloca la IP pública en PublicEndPoints.
A continuación, reinicia el servidor con sudo systemctl restart VpnHoodServer o con sudo docker restart VpnHoodServer si usas Docker. Para verificarlo, crea una clave con vhserver gen: la línea HostEndPoints: mostrará las direcciones asignadas.
Claves ya distribuidas
Cada clave conserva las direcciones con las que se creó, por lo que una aplicación con una clave anterior seguirá intentando conectar a la dirección antigua. Como las aplicaciones actualizan su clave automáticamente al conectarse, mantén el servidor escuchando en la dirección antigua durante unos días tras el cambio antes de eliminarla.
En un servidor administrado, consérvala como punto de acceso con Mode Private y Listen Yes: las aplicaciones recibirán la nueva clave porque Push token to clients está activo por defecto. En un servidor independiente, mantén la dirección antigua únicamente en TcpEndPoints.
Si una aplicación ya no puede conectar con la dirección antigua, necesitará una nueva clave. Con un nombre de dominio y un certificado emitido por una autoridad de certificación, las claves resuelven la nueva dirección por DNS, evitando que los cambios las dejen sin servicio.