bigbluebutton / bbb-install

BASH script to install BigBlueButton in 30 minutes.
GNU Lesser General Public License v3.0
612 stars 538 forks source link

issue with installing turn server #577

Open ShaunWhitee opened 1 year ago

ShaunWhitee commented 1 year ago

Hey all, I am using a fresh Ubuntu 20.04 azure instance and tried to install turn with command - wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | bash -s -- -c my_domain:U8nPemod41 -e myemail@email.com the certificate was installed but then it stopped after Waiting for port 443 to clear

I tried the following commands-

journalctl -f -u coturn.service gave-

-- Logs begin at Mon 2022-11-21 15:49:47 UTC. --
Nov 22 16:10:14 turnserver-room systemd[1]: coturn.service: Scheduled restart job, restart counter is at 74.
Nov 22 16:10:14 turnserver-room systemd[1]: Stopped coTURN STUN/TURN Server.
Nov 22 16:10:14 turnserver-room systemd[1]: Starting coTURN STUN/TURN Server...
Nov 22 16:10:16 turnserver-room systemd[1]: Started coTURN STUN/TURN Server.
Nov 22 16:11:14 turnserver-room systemd[1]: coturn.service: Main process exited, code=exited, status=255/EXCEPTION
Nov 22 16:11:14 turnserver-room systemd[1]: coturn.service: Failed with result 'exit-code'.
Nov 22 16:11:14 turnserver-room systemd[1]: coturn.service: Scheduled restart job, restart counter is at 75.
Nov 22 16:11:14 turnserver-room systemd[1]: Stopped coTURN STUN/TURN Server.
Nov 22 16:11:14 turnserver-room systemd[1]: Starting coTURN STUN/TURN Server...
Nov 22 16:11:16 turnserver-room systemd[1]: Started coTURN STUN/TURN Server.

systemctl status coturn.service gave-

● coturn.service - coTURN STUN/TURN Server
     Loaded: loaded (/lib/systemd/system/coturn.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/coturn.service.d
             └─override.conf
     Active: active (running) since Tue 2022-11-22 16:10:16 UTC; 27s ago
       Docs: man:coturn(1)
             man:turnadmin(1)
             man:turnserver(1)
    Process: 46545 ExecStart=/usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid --no-stdout-log --simple-log --log-file /var/log/turnserver/turnserver.log (code=exited>
    Process: 46547 ExecStartPost=/bin/sleep 2 (code=exited, status=0/SUCCESS)
   Main PID: 46546 (turnserver)
      Tasks: 3 (limit: 1076)
     Memory: 3.4M
     CGroup: /system.slice/coturn.service
             └─46546 /usr/bin/turnserver --daemon -c /etc/turnserver.conf --pidfile /run/turnserver/turnserver.pid --no-stdout-log --simple-log --log-file /var/log/turnserver/turnserver.log

Nov 22 16:10:14 turnserver-room systemd[1]: Starting coTURN STUN/TURN Server...
Nov 22 16:10:16 turnserver-room systemd[1]: Started coTURN STUN/TURN Server.

and output for turnserver was-

0: log file opened: /var/tmp/turn_46531_2022-11-22.log
0: Listener address to use: 10.127.15.62
0: Relay address to use: 10.127.15.62
0: Config file found: /etc/turnserver.conf
0: 
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Coturn-4.5.1.1 'dan Eider'
0: 
Max number of open files/sockets allowed for this process: 1048576
0: 
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 524000 (approximately)
0: 

==== Show him the instruments, Practical Frost: ====

0: TLS supported
0: DTLS supported
0: DTLS 1.2 supported
0: TURN/STUN ALPN supported
0: Third-party authorization (oAuth) supported
0: GCM (AEAD) supported
0: OpenSSL compile-time version: OpenSSL 1.1.1f  31 Mar 2020 (0x1010106f)
0: 
0: SQLite supported, default database location is /var/lib/turn/turndb
0: Redis supported
0: PostgreSQL supported
0: MySQL supported
0: MongoDB is not supported
0: 
0: Default Net Engine version: 3 (UDP thread per CPU core)

=====================================================

0: Domain name: 
0: Default realm: some_domain
0: 
CONFIGURATION ALERT: You specified --lt-cred-mech and --use-auth-secret in the same time.
Be aware that you could not mix the username/password and the shared secret based auth methohds. 
Shared secret overrides username/password based auth method. Check your configuration!
0: ERROR: 
CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!
0: WARNING: cannot find private key file: /etc/turnserver/privkey.pem (1)
0: WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
Cannot create pid file: /var/run/turnserver.pid: Permission denied
0: Cannot create pid file: /var/run/turnserver.pid
0: pid file created: /var/tmp/turnserver.pid
0: IO method (main listener thread): epoll (with changelist)
0: WARNING: I cannot support STUN CHANGE_REQUEST functionality because only one IP address is provided
0: Wait for relay ports initialization...
0:   relay 10.127.15.62 initialization...
0:   relay 10.127.15.62 initialization done
0: Relay ports initialization done
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=1 created
bind: Cannot assign requested address
0: Trying to bind fd 12 to <10.127.15.62:3478>: errno=99
Cannot bind local socket to addr: Cannot assign requested address
0: Cannot bind TLS/TCP listener socket to addr 10.127.15.62:3478
0: Trying to bind TLS/TCP listener socket to addr 10.127.15.62:3478, again...
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=0 created
bind: Cannot assign requested address
0: Trying to bind fd 17 to <10.127.15.62:3478>: errno=99
Cannot bind local socket to addr: Cannot assign requested address
0: Cannot bind DTLS/UDP listener socket to addr 10.127.15.62:3478
0: Trying to bind DTLS/UDP listener socket to addr 10.127.15.62:3478, again...
bind: Cannot assign requested address
0: Trying to bind fd 18 to <10.127.15.62:3478>: errno=99
Cannot bind local socket to addr: Cannot assign requested address
0: Cannot bind TLS/TCP listener socket to addr 10.127.15.62:3478
0: Trying to bind TLS/TCP listener socket to addr 10.127.15.62:3478, again...
bind: Cannot assign requested address

I checked other issues but could not find any solution. Please help Thanks

BrentBaccala commented 1 year ago

I've confirmed this as a bug.

The bbb-install script doesn't build a working TURN server if you're behind a NAT gateway (like Azure or AWS).

I'll get a Pull Request in to fix this.

Also, a new solution is in development that will eliminate the need for a TURN server by integrating TURN functionality into the BigBlueButton server.