반응형

이전 포스팅에서는 NAT 환경에서 P2P 연결을 위해서 필요한 것들에 대해서 이야기 하였다. 본 포스팅에서는 TURN 서버 설치에 대해서 알아본다.


 오픈 소스 TURN 서버로 구글의 rfc-5766-turn-server 가 있고 여기에 추가적으로 기능을 넣은 co-turn 서버가 있다. 다음의 사이트에서 관련 소스를 받거나 정보를 얻을 수 있다.


https://github.com/coturn/coturn


 소스를 받아서 컴파일 해보자. (ubuntu 16.04 환경)


git clone https://github.com/coturn/coturn.git

cd coturn

./configure


여기까지 하게 되면 libevent2 환경이 깔려 있지 않으면 오류가 나타난다. ubuntu의 경우 다음의 명령으로 libevent 최신 버전을 설치한다..


sudo apt-get install libevent-dev


그리고 다시 ./configure 하게 되면 기본 환경으로 설치된다. 추가적으로 authentication 관련 passwords와 key를 설치할데 DB를 이용하고자 한다면 Sqlite3, Postgresql, MySQL, MONGODB, Redis 관련 패키지를 설치해야 한다. 


 본 포스팅에서는 mongodb 를 설치해서 관련 설명을 한다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

sudo apt-get update

sudo apt-get install -y mongodb-org


mongodb 를 설치하고 mongo-c-driver를 설치한다.

git clone https://github.com/mongodb/mongo-c-driver.git

cd mongo-c-driver

./autogen.sh

make

sudo make install


 coturn 폴더로 가서 ./configure, make 하고 sudo make install 하면 설치가 완료 된다.


default config file을 실제 config 파일로 copy 한다. (sudo cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf)


 sudo vi /usr/local/etc/turnserver.conf 로 config 파일을 열어서 설정한다. configuration 은 Turn 서버가 공유기 내에 있다고 가정하고 서버 IP는 192.168.0.55 라고 공유기의 외부 IP는 222.222.222.222 라고 가정한다. Configuration 파일의 다음의 주석을 해제하고 설정한다.


listening-port=3478

tls-listening-port=5349

external-ip=222.222.222.222

min-port=40000

max-port=45000

verbose

fingerprint

lt-cred-mech

mongo-userdb="mongodb://localhost:27017/coturn"

realm=<realm>


공유기 설정에서 3478(UDP, TCP), 5349(UDP, TCP), 29152-35535(UDP) 포트를 192.168.0.55 로 Fort-Forwarding 설정을 한다.


 TURN서버를 이용할 수 있는 user를 생성한다.


turnadmin -a -u <user> -r <realm> -p <비밀번호> --mongo-userdb="mongodb://localhost:27017/coturn"


https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 로 가서 turn 서버에  turn:222.222.222.222:3478를 입력하고 TURN Username, TURN password에 생성한 user, 비밀번호를 입력하고 add server를 클릭한다.


아래 gather candidate 하게 되면 관련 ICE Candidate를 조회할 수 있다.

반응형
Posted by alias
,