TURN 서버는 Traversal Using Relays around NAT의 줄임말로 간단히 이야기 하자면 미디어 스트림을 Relay하는 Relay Server입니다. TURN 서버는 STUN 서버와 같이 WebRTC 어플리케이션에서 Firewall/NAT 문제를 해결할 때 사용되며 TURN 서버의 프로토콜에 대한 자세한 사항은 RFC 5766에 기술되어 있으니 참조바랍니다. (http://tools.ietf.org/html/rfc5766)
- TURN 서버 설치 전에 필요한 것
- CentOS 6.5 (64-bit)가 설치된 시스템 (또는 VM)
- 최신 버전의 'libevent' 라이브러리 다운로드, 빌드, 인스톨
- Download libevent from its github: https://github.com/libevent/libevent
- tar xvfz libevent-[latest-version].tar.gz
- cd libevent-[latest-verstion]
- ./configure
- make
- make install
- TURN 서버 다운로드
- 웹사이트: https://code.google.com/p/rfc5766-turn-server/wiki/newDownloadsSite?tm=2
- 예: turnserver-3.2.3.94-CentOS6.5-x86_64.tar.gz (이 블로그에서는 이 패키지를 사용해서 설명하겠습니다.)
- TURN 서버 빌드와 인스톨
- 다운로드 받은 패키지를 '/opt' 폴더로 이동 후 압축해제
-
mv turnserver-
3.2
.
3.94
-CentOS6.
5
-x86-
64
.tar.gz /opt
tar xvfz turnserver-
3.2
.
3.94
-CentOS6.
5
-x86-
64
.tar.gz
- 압축을 푼 패키지의 폴더로 이동한 후 TURN 서버를 인스톨
cd turnserver-
3.2
.
3.94
-CentOS6.
5
-x86-
64
- ./install.sh
- Long term credential 정보 추가
- '/etc/turnserver/' 폴더에 생성된 'turnuserdb.conf' 파일에 'long term credential' (긴 기간 인증) 정보를 추가 (아래의 turnuserdb.conf 예 참조)
- TURN 서버 시작
- TURN 서버를 아래와 같은 옵션과 함께 시작
- turnserver -v -a -r -n --userdb=/etc/turnserver/turnuserdb.conf
- Sources
- https://code.google.com/p/rfc5766-turn-server/
- http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
- turnuserdb.conf의 예
#This file can be used as user
accounts storage for long-term credentials
#mechanism.
#
#username1:key1
#username2:key2
# OR:
Isley:abcd1234
#username1:password1
#username2:password2
#
# Keys must be generated by
turnadmin utility. The key value depends
# on user name, realm, and
password:
#
# Example:
# $ turnadmin -k -u ninefingers
-r north.gov -p youhavetoberealistic
# Output: 0xbc807ee29df3c9ffa736523fb2c4e8ee
# ('0x' in the beginning of the key is what differentiates the key
from
# password. If it has 0x then it
is a key, otherwise it is a password).
#
# The corresponding user account
entry in the userdb file will be:
#
#ninefingers:0xbc807ee29df3c9ffa736523fb2c4e8ee
# Or, equivalently (less secure):
#ninefingers:youhavetoberealistic
#
|
Diyarbakır
ReplyDeleteAdana
Bursa
izmir
Sakarya
O8GQD
yozgat
ReplyDeletetunceli
hakkari
zonguldak
adıyaman
ZGVZ