DEV/Backend

Coturn 시그널링 서버 설치

Beomsu Koh 2023. 5. 15.

Coturn 시그널링 서버 설치

1단계: Coturn 설치

STUN 서버이자 TURN 릴레이인 Coturn은 ICE 프로토콜에 필요한 모든 기능을 지원하여 NAT 뒤에서 WebRTC 연결을 가능하게 합니다. Ubuntu 패키지 리포지토리에서 직접 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install --no-install-recommends coturn

2단계: WebRTC용 Coturn 구성

WebRTC용 Coturn을 설정하려면 /etc/turnserver.conf 파일을 편집해야 합니다.
다음은 WebRTC용 Kurento Media Server와 함께 Coturn을 사용하기 위한 최소 구성 예입니다.

# The external IP address of this server, if Coturn is behind a NAT.
# It must be an IP address, not a domain name.
external-ip=[자신의 공인 IP 또는 클라우드의 공개 IP]
listening-ip=[클라우드의 내부 IP]
# STUN listener port for UDP and TCP.
# Default: 3478.
listening-port=3478

# TURN lower and upper bounds of the UDP relay ports.
# Default: 49152, 65535.
#min-port=49152
#max-port=65535

# Uncomment to enable moderately verbose logs.
# Default: verbose mode OFF.
#verbose

# TURN fingerprints in messages.
fingerprint

# TURN long-term credential mechanism.
lt-cred-mech

# TURN static user account for long-term credential mechanism.
user=<TurnUser>:<TurnPassword>

# TURN realm used for the long-term credential mechanism.
realm=kurento.org

# Set the log file name.
# The log file can be reset sending a SIGHUP signal to the turnserver process.
log-file=/var/log/turn.log

# Disable log file rollover and use log file name as-is.
simple-log

3단계: 대상 로그 파일 만들기

Coturn은 자체적으로 생성할 수 있는 권한이 없으므로 대상 로그 파일을 생성합니다.

sudo install -o turnserver -g turnserver -m 644 /dev/null /var/log/turn.log

4단계: Coturn 기본 파일 편집

/etc/default/coturn 파일을 편집하고 주석을 제거하거나 다음 행을 추가하십시오.
시스템 데몬에서 자동으로 Turn 서버가 구동 되도록 해줍니다

TURNSERVER_ENABLED=1

5단계: Coturn 서비스 시작

다음 명령을 사용하여 Coturn 시스템 서비스를 시작합니다.

sudo service coturn restart

6단계: 필요한 포트 열기

방화벽/NAT/클라우드 공급자의 보안 그룹에서 다음 포트가 열려 있는지 확인합니다.

  • listening-port (기본값: 3478) UDP & TCP
  • min-port에서 max-port까지의 모든 범위(기본값: 49152에서 65535)

7단계: Coturn Test


Trickle ICE에서 자신이 만든 시그널링 서버가 작동하는지 확인 할 수 있다
잘 데이터가 오가는지 확인해보자

성공적으로 시그널링이 완료되면 Done이 뜨는 것을 볼 수 있다

8단계: Kurento와 연결

Kurento Media Server Docker 설치하는 방법으로 실행 중인 KMS에 우리가 만든 시그널링 서버를 연결해야 한다.

우리가 실행 시킨 도커 이미지를 이용해서 구성 파일을 얻는다

docker create --name temp kurento/kurento-media-server:7.0.0
docker cp temp:/etc/kurento/ ./kurento-files/
docker rm temp

./kurento-files에 들어가서 turnURL 등을 수정한다
(나의 경우 Stun URL과 Port 그리고 turnURL을 수정했다)

이제 수정된 파일을 도커 이미지에 주입한다

sudo docker run -d --name kurento --network host \
> --mount type=bind,src="$PWD/kurento-files/",dst=/etc/kurento/ \
> kurento/kurento-media-server:6.18.0

마치며

여기까지하면, Kurento 미디어 서버 배포가 완료 된다!

부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>

'DEV > Backend' 카테고리의 다른 글

Cookie  (0) 2023.05.25
Error Cannot find module socket.io  (0) 2023.05.17
Kurento Media Server Docker 설치하는 방법  (0) 2023.05.15
Kurento Media Server Local 설치하는 방법  (0) 2023.05.15
Tomcat  (0) 2023.05.13

댓글