オープンソースの STUN/TURN サーバーを導入してみました。
ターゲットは CentOS 7 を想定しています。
NAT 越えのための STUN サーバーを NAT 配下に設置できそうなパラメータも紹介します。
Coturn の導入
Github から Coturn を取得します。
これをビルドするための手順は以下の通りになります。
割と素の環境でセットアップをしたため、 git やら gcc やらのインストールからやってます。
$ sudo yum install git $ git clone https://github.com/coturn/coturn.git $ sudo yum install gcc libevent-devel openssl-devel $ cd coturn $ ./configure $ make $ sudo make install
設定など
デフォルトでは設定ファイルは /usr/local/etc/turnserver.conf になります。
最初は /usr/loca/etc/turnserver.conf.default というものがあるのでこれをコピーして作成することにします。
詳細なログを見たい場合には verbose の先頭行のコメントを外しておきます。
他に設定が必要なものとして、 realm, user, listening-ip, relay-ip あたりになると思います。
realm, user については認証処理が必要な TURN で使用します。
基本的に待ち受けるIPが1つでそれでやりくりするのであれば設定は不要なのかもしれません。
listening-ip, relay-ip は待ち受けるIP, リレー用のIP の設定になります
また、 STUN/TURN サーバーを NAT 配下や Firewall 配下に設置する場合には external-ip というものも設定することになります。
このときには、 listening-ip, relay-ip を割り当てられているプライベートIP を設定し、 external-ip に外部に見えている IPを指定します。
$ sudo cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf
サーバーの起動
サーバープログラムは /usr/local/bin/turnserver になります。
起動のためのコマンド例は以下のようになります。
/usr/local/bin/turnserver -o -c /usr/local/etc/turnserver.conf
動作の確認など
動作を確認するのには付属のツールを使ってみるのもありです。
でも折角なら Firewall の中にいるクライアントから動作確認してみたいところですね。
そこで Windows なら、 WinStun を使ってみることをオススメします。
これを使って今回準備した STUN サーバーにアクセスしてみましょう
サーバーのIPアドレスを入力して、 RunTest ボタンを押すと以下のように情報が出てきます。
他の STUN サーバーにもアクセスしてみて、同じような結果となるか確認すると確実だと思います。
コメント
[…] 参考 https://blog.techlab-xe.net/archives/5160 chrome://webrtc-internals/ […]