[프로젝트진행] COTURN 서버설치

Nam_JU·2022년 12월 17일
0

WebRTC-Project

목록 보기
17/18
post-thumbnail

기존에 peer 끼리 커넥션을 맺을때에는 구글에서 제공하는 sturn 서버만을 이용해서 커넥션을 맺었다. 그러나 다른 네트워크를 사용하는 사용자의 정보를 찾는 경우 상당히 불안정 한 문제가 생겼다. 따라서 이러한 문제를 커넥션을 중계해주는 서버인 TURN 서버를 설치함으로써 해결했다.

Ubuntu Coturn 설치

sudo apt-get -y update
sudo apt-get -y install coturn

사용하는 포트의 보안그룹 해제


우리서비스에서는 사용하지 않음으로 TSL는 제외함
TSL을 사용할 경우 5349 포트 연결 필요

Coturn 서버의 Config 파일 수정

sudo vi /etc/turnserver.conf
52 listening-ip=172.31.1.55
120 external-ip=54.180.1.34/172.31.1.55
149 min-port=49152
150 max-port=65535
154 verbose
165 fingerprint
170 lt-cred-mech

# 원하는 userID:Password 로 사용
242 user=eyestalk:pass123#
realm=<domain> # 원하는 이름 아무거나 입력
509 syslog

external-ip 에는 우리가 인스턴스를 만들때 받은 public IP 를 입력한다

Coturn 서버 재시작 후 접속 테스트

sudo systemctl restart coturn
sudo systemctl status coturn 

정상적으로 동작하는것을 확인하기 위해 Connection 을 테스트 하는 사이트에서 확인

Trickle ICE


Done 이 뜨면 완료

참고자료
AWS EC2 / COTURN 서버
https://github.com/coturn/coturn
feat. 희재씌

profile
개발기록

2개의 댓글

comment-user-thumbnail
2023년 5월 9일

블로그 내용이 유익하여 잘 보았습니다. 다만 한가지 궁금증이 있는데요
52 listening-ip=172.31.1.55
120 external-ip=54.180.1.34/172.31.1.55

이렇게 port 설정을 하셨는데요 아마 AWS 인스턴스 생성시 보이는 퍼블릭 IPv4 주소와 프라이빗 IPv4 로 생각됩니다.

근데 그 이후에 Trickle ICE 사이트에서 확인시에는 3.38.141.15 라고 앞에서 언급하지 않으신 IP로 조회를 하셨는데요 이 IP는 무엇인가요?

그리고 WebRTC Sample에서 적용시 IP 는 어떤걸로 적용해야하나요?

var pcConfig = {
'iceServers': [{"urls":["turn:<어떤 IP>:3478?transport=tcp"],"username":"<설정한 username>","credential":"<설정한 password>"}]
};

1개의 답글