안녕하세요 이번에는 제가 WebRTC 를 이용해 무언가?를 만드는 과정에서

peer 간에 네트워크 상에서 연결을 중계시켜주는 역할을 하는 turnserver를

구축하여 동작하는 것까지 포스팅을 해보았습니다.

우분투 환경 기준으로 작성을 하였습니다.

  1. coturn을 설치합니다. (sudo apt install coturn)
  2. /etc/turnserver.conf  파일을 수정하여 서버환경을 셋팅합니다.
  3. turnadmin으로 사용자 계정을 추가해 줍니다.
  4. coturn을 서버상에서 실행합니다. 끝~

turnserver.conf 는 제가 셋팅한 파일의 내용을 올리겠습니다. (네트워크 환경에 따라 조금씩 수정하셔야 합니다.)

아래의 설정을 하기 전에 포트포워딩 또는 방화벽을 통해 tcp 3478 & tcp 5349 포트를 허용해 주셔야 합니다.

# turnserver의 포트입니다.
listening-port=3478
# tls 포트입니다.
tls-listening-port=5349
# 외부IP를 넣어줍니다.(공유기 사용시 WAN상의 외부IP를 넣어줍니다.)
external-ip=123.123.126.123
# 로그를 뽑을 수 있으니 주석을 해제하였습니다.
verbose
# 이것도 주석해제
fingerprint
# 인증방식 주석해제
lt-cred-mech
# turnserver 도메인 네임입니다.
server-name=test.com
# 릴름은 원하는 네임명으로 해줍니다.
realm=testname

위의 /etc/turnserver.conf 를 수정한 뒤에 저장을 해줍니다.

그 다음에는 turnadmin 을 통해 turnserver를 사용할 수 있는 계정을 생성해 줍니다.

turnadmin -a -u 계정이름 -p 계정패스워드 -r 릴름명

위의 방식으로 turnadmin을 통해 계정을 추가하면 거의 끝!

마지막으로 turnserver 실행~

sudo service coturn start

turnserver에 유저가 접속하여 중계 상태가 되면

/var/log/turn_14545_2019-01-27.log 같은 형식을 log 파일의 용량이 늘어나면서 로그가 쌓이게 됩니다.

여기까지 우분투서버에 turn 서버 설치하기 였습니다.

끝~!