turnサーバの構築
3937 ワード
Coturnは現在の最新RFCのSTUN/TURN/ICEに関する要求に合致する.このプロジェクトはrfc 5766-turn-serverから進化したもので、原作者のOleg Moskalenkoが新しい規格に対応するために再開発した標準TURNサーバです.このドキュメントでは、仮想マシン上でcoturnサービスを構築するための詳細な手順について説明します.
1オペレーティングシステムの要件
本明細書で説明するcoturn構築手順は、以下のオペレーティングシステム環境に基づいている. REDHAT/CentOS Server 7.6
coturnが現在インストールする必要があるgccバージョン: gcc 3.4.4 thru 4.8.x
現在のユーザーの最大オープンディスクリプタ数を10万に増やし、デフォルトのプロファイル/etc/security/limits.confに保存する
2依存パッケージ
coturnを構築する前に、次のパッケージ/ライブラリがシステム標準の場所にインストールされていることを確認してください. opensslおよび開発パッケージ sqliteおよび開発パッケージ libeventおよび開発パッケージ
yumで以上のパッケージをインストールするには、まずepelを手動でインストールする必要があります.
また、現在epelでlibevent-develパッケージが見つからないため、手動でインストールする必要があります.ネット上でrpmパッケージ倉庫を見つけて、http://www.rpmfind.net/linux/rpm2html/search.php?query=libevent-この環境のlibevent-develが含まれています.
3インストールディレクトリの作成
メンテナンスを容易にするために、サードパーティがインストールしたアプリケーションは、システム標準ディレクトリにインストールされるのではなく、別の/apprunディレクトリに個別にインストールされます.関連ディレクトリを作成する手順は、次のとおりです.
4構築
coturnソースパッケージを解凍し、ソース最上位ディレクトリで次の操作を行います.
構成:
コンパイルcoturn:
指定したディレクトリにcoturnをインストール
5 coturnプロファイルの変更
添付ファイルのturnserver.confを次のディレクトリにコピーします.
/apprun/usr/etc/
添付ファイルのデフォルトturnserver.confは主に以下のいくつかの設定項目を構成します.具体的な配置状況に応じて変更してください. external-ip:クラウドホストに設定されたパブリックネットワークIP min-port/max-port:最下位/最上位のUDP転送ポート verbose:詳細ログを開始 lt-cred-mech:long-term検証メカニズム を起動 userdb:user情報を格納sqliteデータベースファイルパス、/apprun/usr/var/db/turndb に設定 realm:デフォルトのrealmは、クライアントがrealmを指定していない場合にデフォルトで使用されます. log-file:ログファイルパス、この例では/apprun/usr/log/turn.log、coturnのログシステムであり、coturnを再起動するたびにこのログファイルが上書きされ、デフォルトでは毎日新しいログファイルが生成されます.(ログファイルパスが設定されている場合、ファイル名にpidが接続されず、前回のログが上書きされ、一定の設計上の欠陥がある) allow-loopback-peers:loopbackインタフェースでの処理を許可し、 のデバッグを容易にする pidfile:pidファイルパス、この例では/apprun/usr/var/run/turnserver.pid no-tls:tlsポート を傍受しない no-dtls:dtlsポート を傍受しない user:静的ユーザ/パスワード構成(現在のシステムのすべての端末が同じ静的ユーザ名/パスワードを採用) 6手動起動coturn
任意のディレクトリに次のコマンドを入力し、プロセスを保護するようにcoturnを起動します.
7ファイアウォール構成の変更
クラウドファイアウォールの構成を変更し、次のような放行ルールを追加します.
インバウンド・ルール:
プロトコル
ポート範囲
ソース
TCP
3478 - 3479
0.0.0.0/0
UDP
3478 - 3479
0.0.0.0/0
UDP
20000 - 29999
0.0.0.0/0
アウトバウンド・ルール:すべてのトラフィック
8手動セルフテスト
coturnサービスを正常に起動した後、サーバが正常に動作していることを確認するために、テストスクリプトを手動で実行する必要があります.コンパイルに成功したソースディレクトリに入り、ソースディレクトリの下で以下のテストスクリプトを実行します.
./examples/scripts/rfc 5769.sh#自己測定暗号化署名機能
examples/scripts/basic/udp_の変更c2c_Client.shは、127.0.0.1をcoturnサーバのパブリックネットワークIPに変更し、-u test-w 1234パラメータ(プロファイルに設定されているユーザーパスワードと一致)を追加し、スクリプトを実行します.
./examples/scripts/basic/udp_c2c_client.sh
このスクリプトを別のホストで実行して、turnの接続性をよりリアルに検証することもできます.
9タイミング検出スクリプトのインストール
信頼性を向上させ、自動的に起動するには、システムにチェックスクリプトをインストールする必要があります.coturnが予期せぬ状況で終了した場合、直ちに再起動し、サービスの可用性を保証することができます.インストール方法は、添付ファイルのstart.coturn.shスクリプトを/apprun/usr/bin/ディレクトリにコピーし、スクリプトのワークパスを/apprun/usrに変更します.
次のコマンドを使用して、現在のユーザーcrontabを開きます.
crontab -e
crontabテーブルに次の引用符の文を追加します.
"* * * * */apprun/usr/bin/start.coturn.sh >/dev/null 2>&1 "
1オペレーティングシステムの要件
本明細書で説明するcoturn構築手順は、以下のオペレーティングシステム環境に基づいている.
coturnが現在インストールする必要があるgccバージョン:
現在のユーザーの最大オープンディスクリプタ数を10万に増やし、デフォルトのプロファイル/etc/security/limits.confに保存する
2依存パッケージ
coturnを構築する前に、次のパッケージ/ライブラリがシステム標準の場所にインストールされていることを確認してください.
sudo yum install openssl-devel
sudo yum install sqlite
sudo yum install sqlite-devel
sudo yum install libevent
sudo yum install libevent-devel
yumで以上のパッケージをインストールするには、まずepelを手動でインストールする必要があります.
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
また、現在epelでlibevent-develパッケージが見つからないため、手動でインストールする必要があります.ネット上でrpmパッケージ倉庫を見つけて、http://www.rpmfind.net/linux/rpm2html/search.php?query=libevent-この環境のlibevent-develが含まれています.
sudo yum install http://www.rpmfind.net/linux/centos/7.6.1810/os/x86_64/Packages/libevent-devel-2.0.21-4.el7.x86_64.rpm
3インストールディレクトリの作成
メンテナンスを容易にするために、サードパーティがインストールしたアプリケーションは、システム標準ディレクトリにインストールされるのではなく、別の/apprunディレクトリに個別にインストールされます.関連ディレクトリを作成する手順は、次のとおりです.
sudo mkdir /apprun
sudo chown ec2-user:ec2-user /apprun/
mkdir /apprun/usr/
mkdir /apprun/usr/log
mkdir /apprun/usr/var/db
mkdir /apprun/usr/var/run
4構築
coturnソースパッケージを解凍し、ソース最上位ディレクトリで次の操作を行います.
構成:
configure --prefix=/apprun/usr
コンパイルcoturn:
make
指定したディレクトリにcoturnをインストール
make install
5 coturnプロファイルの変更
添付ファイルのturnserver.confを次のディレクトリにコピーします.
/apprun/usr/etc/
添付ファイルのデフォルトturnserver.confは主に以下のいくつかの設定項目を構成します.具体的な配置状況に応じて変更してください.
任意のディレクトリに次のコマンドを入力し、プロセスを保護するようにcoturnを起動します.
/apprun/usr/bin/turnserver -c /apprun/usr/etc/turnserver.conf -o
7ファイアウォール構成の変更
クラウドファイアウォールの構成を変更し、次のような放行ルールを追加します.
インバウンド・ルール:
プロトコル
ポート範囲
ソース
TCP
3478 - 3479
0.0.0.0/0
UDP
3478 - 3479
0.0.0.0/0
UDP
20000 - 29999
0.0.0.0/0
アウトバウンド・ルール:すべてのトラフィック
8手動セルフテスト
coturnサービスを正常に起動した後、サーバが正常に動作していることを確認するために、テストスクリプトを手動で実行する必要があります.コンパイルに成功したソースディレクトリに入り、ソースディレクトリの下で以下のテストスクリプトを実行します.
./examples/scripts/rfc 5769.sh#自己測定暗号化署名機能
examples/scripts/basic/udp_の変更c2c_Client.shは、127.0.0.1をcoturnサーバのパブリックネットワークIPに変更し、-u test-w 1234パラメータ(プロファイルに設定されているユーザーパスワードと一致)を追加し、スクリプトを実行します.
./examples/scripts/basic/udp_c2c_client.sh
このスクリプトを別のホストで実行して、turnの接続性をよりリアルに検証することもできます.
9タイミング検出スクリプトのインストール
信頼性を向上させ、自動的に起動するには、システムにチェックスクリプトをインストールする必要があります.coturnが予期せぬ状況で終了した場合、直ちに再起動し、サービスの可用性を保証することができます.インストール方法は、添付ファイルのstart.coturn.shスクリプトを/apprun/usr/bin/ディレクトリにコピーし、スクリプトのワークパスを/apprun/usrに変更します.
次のコマンドを使用して、現在のユーザーcrontabを開きます.
crontab -e
crontabテーブルに次の引用符の文を追加します.
"* * * * */apprun/usr/bin/start.coturn.sh >/dev/null 2>&1 "