webratc(2):Centos 6インストールstun/turnサービス

10505 ワード

本文の原文接続は以下の通りです.http://blog.csdn.net/freewebsys/article/details/47109183 博客の許可なしに転載してはいけません.
1,stunとturnについて
STUN(Simple Traversal of UDP over NAT)は、NATのUDPを簡単に通り抜けるネットワークプロトコルであり、NAT(または多重NAT)に位置したクライアントが自分のネットワークアドレスを探し出し、自分がどのタイプのNATにあるかを調べた後、NATはあるローカルポートに縛られたInternet端末ポートである.これらの情報は、2つの同時NATルータの後にあるホスト間でUDP通信を確立するために使用される.このプロトコルはRFC 3489によって定義される.現在RFC 3489プロトコルはRFC 5389プロトコルに取って代わられました.新しいプロトコルでは、STUNをNATを横断するためのツールとして定義しています.単独で解決策を提供していません.それはアップグレードバージョンRFC 7350がまだあります.今は完全な中です.http://baike.baidu.com/view/884586.htm
TURNのフルネームはTraversal Using Relay NATであり、つまりRelay方式でNATを通り抜けることによって、TURNアプリケーションモデルはTURNServerのアドレスとポートを割り当ててクライアントの外部の受信アドレスとポートとしています.つまり、私網ユーザが発行するメッセージはTURNServerを経由してRelay転送します.http://baike.baidu.com/subview/351571/10359693.htm
2,据え付ける
参考:http://www.hankcs.com/program/network/compile-rfc5766-turn-server-to-build-turn-server.html
コードのダウンロード:https://github.com/coturn/rfc5766-turn-server/releases 最新のtar.gzパッケージをダウンロードします.rfc 5766-turn-server-0.3.5.tar.gz
インストール依存環境
##ssl   yum  
yum install openssl openssl-libs libevent libevent-devel
もしまだエラーが発生したら、マニュアルでlibeventをインストールします.
centos Libevent2 development libraries are not installed properly in required location
ダウンロード:http://libevent.org/ダウンロードhttps://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz 解凍してコンパイルしてインストールすればいいです.
コンパイルturn-server
tar -zxvf rfc5766-turn-server-3.2.5.9.tar.gz
cd rfc5766-turn-server-3.2.5.9
./configure 
make
make install
configreの成功:
more is /usr/bin/more
install is /usr/bin/install
pkill is /usr/bin/pkill
Use TMP dir /var/tmp
Compiler: cc
Do not use -lsocket
Do not use -lwldap32
Do not use -lwldap64
Do not use -lintl
Sockets code is fine: no sin_len field present
Ignore IP_RECVERR
Crypto SSL lib found.
SSL lib found.
Libevent2 development found.
Libevent2 runtime found.
Libevent2 openssl found.
Libevent2 pthreads found.

POSTGRESQL DEVELOPMENT LIBRARY (libpq.a) AND/OR HEADER (libpq-fe.h)
        ARE NOT INSTALLED PROPERLY ON THIS SYSTEM.
        THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT POSTGRESQL DATABASE SUPPORT.


MYSQL DEVELOPMENT LIBRARY (libmysqlclient) AND/OR HEADER (mysql.h)
        ARE NOT INSTALLED PROPERLY ON THIS SYSTEM.
        THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT MYSQL DATABASE SUPPORT.


HIREDIS DEVELOPMENT LIBRARY (libhiredis.*) AND/OR HEADERS (hiredis/*.h)
        ARE NOT INSTALLED PROPERLY ON THIS SYSTEM.
        THAT'S OK BUT THE TURN SERVER IS BUILDING WITHOUT REDIS SUPPORT.

PREFIX=/usr/local OSLIBS= -L/usr/local/lib/ -L/usr/local/lib/ -L/usr/local/lib64/ -L/usr/local/lib64/ -lrt -pthread -lcrypto -lssl -levent_core -levent_openssl -levent_pthreads  -Wl,-rpath,/usr/local/lib/ -Wl,-rpath,/usr/local/lib/ -Wl,-rpath,/usr/local/lib64/ -Wl,-rpath,/usr/local/lib64/ -Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/usr/local/lib DBLIBS= OSCFLAGS=-g  -Wall -Wno-deprecated-declarations -Wextra -Wformat-security -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Wcast-qual -I/usr/local/include -I/usr/local/include/ -I/usr/local/include  -DTURN_HAS_DAEMON    -DINSTALL_PREFIX=/usr/local DBCFLAGS=
データベースサポートのライブラリがないというだけで、しばらくはいらないです.
設置後の説明:
1) If you system supports automatic start-up system daemon services, the, to enable the turnserver as an automatically started system service, you have to: a) Create and edit /etc/turnserver.conf or /usr/local/etc/turnserver.conf . Use /usr/local/etc/turnserver.conf.default as an example. b) For user accounts settings, if using the turnserver with authentication: create and edit /etc/turnuserdb.conf file, or set up PostgreSQL or MySQL or Redis database for user accounts. Use /usr/local/etc/turnuserdb.conf.default as example for flat file DB, or use /usr/local/share/turnserver/schema.sql as SQL database schema, or use /usr/local/share/turnserver/schema.userdb.redis as Redis database schema description and/or /usr/local/share/turnserver/schema.stats.redis as Redis status & statistics database schema description. c) add whatever is necessary to enable start-up daemon for the /usr/local/bin/turnserver. 2) If you do not want the turnserver to be a system service, then you can start/stop it "manually", using the "turnserver" executable with appropriate options (see the documentation). 3) To create database schema, use schema in file /usr/local/share/turnserver/schema.sql. 4) For additional information, run: $ man turnserver $ man turnadmin $ man turnutils
ルートディレクトリでuser.dbファイルを作成します.turnserverを使って起動します.
turnserver --userdb /root/turnuser.db 
   webrtc     :
webrtc:secret
3,ページの呼び出し
https://github.com/EricssonResearch/openwebrtc-examples/tree/master/web nodeをインストールする前の記事:http://blog.csdn.net/freewebsys/article/details/46649667#t1
修正メール.js
// must use 'url' here since Firefox doesn't understand 'urls'
var configuration = {
  "iceServers": [
  {
    "url": "stun:mmt-stun.verkstad.net"
  },
  {
    "url": "turn:mmt-turn.verkstad.net",
    "username": "webrtc",
    "credential": "secret"
  }
  ]
};
stunサーバとturnサーバを置換します.
4,まとめ
本文の原文接続は以下の通りです.http://blog.csdn.net/freewebsys/article/details/47109183 博客の許可なしに転載してはいけません.
stunとtrunはwebratcで開かれたキーサーバですが、リソースが限られています.