Para que el servidor funcione tanto para dispositivos dentro como fuera de la red siga los siguientes pasos:
1. Configurar el realm
Cambie el valor de realm
al dominio público o dirección IP externa de su servidor. Esto es importante para autenticar correctamente las solicitudes externas.
Si la dirección pública de su servidor es 1.2.3.4, configúrelo como:
realm = "1.2.3.4"
2. Configurar bind
La sección bind
asegura que el servidor STUN/TURN escuche en la IP privada para las conexiones dentro de la red local.
Si la dirección privada de su servidor es 192.168.1.25, configúrelo como:
bind = "192.168.1.25:3478"
Si requiere que el servicio STUN/TURN escuche en todas las interfaces al mismo tiempo, configúrelo como:
bind = "0.0.0.0:3478"
Estas configuraciones sólo son requeridas para [[turn.interfaces]]
.
3. Configurar external
La sección external
es donde se define la IP pública del servidor para que los equipos externos puedan comunicarse correctamente con el servidor STUN/TURN.
Si la dirección pública de su servidor es 1.2.3.4, configúrelo como:
external = "1.2.3.4:3478"
4. Autenticación
La sección [auth]
está configurada con usuarios estáticos:
[auth]
user1 = "test"
user2 = "test"
Esto permite conexiones autenticadas con las credenciales estáticas user1:test
y user2:test
. Asegúrese de usar credenciales más seguras si planea exponer este servicio a dispositivos externos.
Los demás secciones de pueden dejar por defecto.
Al realizar la parametrización en el archivo turn-server.toml, este deberá observarse de la siguiente forma:
[turn]
realm = "1.2.3.4" # IP pública del servidor
[[turn.interfaces]]
transport = "udp"
bind = "192.168.1.25:3478" # La IP privada del servidor en la red local o 0.0.0.0 cuando se desea escuchar todas las interfaces
external = "1.1.1.1:3478" # La IP pública del servidor visible desde el exterior
[[turn.interfaces]]
transport = "tcp"
bind = "192.168.1.25:3478" # La IP privada del servidor en la red local o 0.0.0.0 cuando se desea escuchar todas las interfaces
external = "1.1.1.1:3478" # La IP pública del servidor visible desde el exterior
[api]
bind = "127.0.0.1:3000"
[log]
level = "info"
[auth]
# Credenciales para autenticación TURN/STUN
user1 = "test"
user2 = "test"
Cada vez que realice una modificación al archivo turn-server.toml, reinicie el servicio Aranda Turn Stun WebRTC Server para que los cambios surtan efecto.
Escenarios
A continuación, se describen los siguientes escenarios y el resultado de acuerdo con la configuración del ejemplo.
Escenario | Especialista | Estado en Red | Agente AVS | Estado en Red | Resultado |
---|---|---|---|---|---|
1 | Solo puede acceder al servidor TURN/STUN usando la IP pública | Externo | Solo puede acceder al servidor TURN/STUN usando la IP pública. | Externo | El Especialista y el Agente AVS pueden establecer comunicación consumiendo el servidor TURN/STUN por la IP pública. |
2 | Solo puede acceder al servidor TURN/STUN usando la IP pública. | Externo | Puede acceder al servidor TURN/STUN usando la IP pública. | Interno | El Especialista y el Agente AVS pueden establecer comunicación consumiendo el servidor TURN/STUN por la IP pública. |
3 | Puede acceder al servidor TURN/STUN usando la IP pública. | Interno | Puede acceder al servidor TURN/STUN usando la IP pública. | Interno | El Especialista y el Agente AVS pueden establecer comunicación consumiendo el servidor TURN/STUN por la IP pública. |
4 | Solo puede acceder al servidor TURN/STUN usando la IP privada. | Interno | Solo puede acceder al servidor TURN/STUN usando la IP privada. | Interno | El Especialista y el Agente AVS pueden establecer comunicación consumiendo el servidor TURN/STUN por la IP privada. |
5 | Solo puede acceder al servidor TURN/STUN usando la IP pública. | Externo | No puede usar la IP pública para conectarse al servidor TURN/STUN, ya que su acceso está restringido a la red interna (IP privada). | Interno | El Especialista y el Agente AVS no pueden establecer comunicación debido a un problema de conectividad entre redes (exterior e interior). |
6 | Solo puede acceder al servidor TURN/STUN usando la IP pública. | Externo | No puede usar la IP pública para conectarse al servidor TURN/STUN, ya que su acceso está restringido. | Externo | El Especialista y el Agente AVS no pueden establecer comunicación debido a un problema de conectividad entre redes. |
⚠ Nota:
- Para cubrir los escenarios 1, 2 y 3, configure en el sitio web de AVS el servidor Turn Externo de la siguiente manera:
Nombre: nombre de la configuración.
URL: turn.1.2.3.4:3478 (1.2.3.4 hace referencia a la IP pública del servidor).
Usuario: user1.
Contraseña: test.
⚠ Notas:
Para cubrir el escenario (4), configure en el sitio web de AVS el servidor Turn Externo de la siguiente manera:
Nombre: nombre de la configuración.
URL: turn.192.168.1.25:3478 (192.168.1.25 hace referencia a la IP privada del servidor).
Usuario: user1.
Contraseña: test.Si en el archivo turn-server.toml se configuró
0.0.0.0
en el parámetrobind
, se debe realizar la configuración en el sitio como se indicó anteriormente.