0

この問題に 1 か月近く悩まされていますが、EC2 インスタンスで問題なく rfc5766-turn-server (v3.2.3.1) をセットアップできます。

TURN が 3478 でリッスンしている場合、すべて正常に動作しますが、ポート 80 ではほとんどの場合動作しますが、特定の間隔で (不規則に発生) 応答しなくなり、そのプロセスを再起動しても何も変わりません。ポート 3478 で並行して実行しているプロセスでは、この問題は発生しません。

ポート 80 で実行するためのコマンド:

sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem  --tls-listening-port 80

ポート 3478 で実行するためのコマンド:

sudo turnserver -L INTERNAL_IP -X EXTERNAL_IP/INTERNAL_IP -r "someRealm" -a -o --no-udp -u test:test -n -a --no-sslv2 --no-sslv3 -v --cert cert.pem --pkey key.pem  --tls-listening-port 80

問題はAWSネットワーク関連であり、ターンサーバーではないと思いますが、AWSまたはTURNサーバーについてはほとんど知りません。ポート 80 でこの問題に直面した人はいますか。ポート 80 で実行することは、特にピアがほとんどのポートをブロックする企業ファイアウォールの背後にある場合に重要だと思います。

正常に割り当てることができたときのログ (INTERNAL_IP によって EC2 の内部 IP を変更しました):

342: IPv4. Server relay addr: INTERNAL_IP:0
342: IPv4. Local relay addr: INTERNAL_IP:56216
342: session 000000000000000005: new, username=<test>, lifetime=600
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success
342: session 000000000000000005: user <test>: incoming packet ALLOCATE processed, success
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success
342: session 000000000000000005: user <test>: incoming packet CREATE_PERMISSION processed, success
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success
343: session 000000000000000005: user <test>: incoming packet CHANNEL_BIND processed, success
353: session 000000000000000005: usage: username=<test>, rp=1039, rb=551685, sp=1009, sb=526100

応答しない場合のログ (接続試行がまだ表示されていることに気付きました。1 つの違いは、成功シナリオの INTERNAL_IP ではなく、ピア接続の IP を示していることです):

392: IPv4. tcp or tls connected to: SOME_IP:41107
392: session 000000000000000007: user <>: incoming packet message processed, error 401
392: session 000000000000000007: user <>: incoming packet message processed, error 401
392: IPv4. tcp or tls connected to: SOME_IP:41108
392: session 000000000000000008: user <>: incoming packet message processed, error 401
392: session 000000000000000008: user <>: incoming packet message processed, error 401
4

2 に答える 2

0

ポートで実行しているTURNトランスポートプロトコルについては言及していませんが、ポート3478のログから、UDPトランスポートタイプのリレー候補として3478を使用しているようです。UDP にもポート 80 を使用していないことを願っています。TCP/TLS である可能性があります。その場合、クライアントが TURN サーバーに送信している割り当て要求のトランスポート プロトコルを確認できます。クライアントが正しいトランスポート プロトコルを使用してリレー候補を要求していない場合、割り当て応答が成功しない可能性があります。TCP/TLS コントロール接続を使用して、使用している TURN サーバーがサポートしている場合、RFC-5766 のフォールバック メカニズムとして UDP リレー候補を収集できます。それ以外の場合、クライアント/サーバーはリレー候補の TCP タイプを取得するために ICE-TCP 実装を備えている必要がありますが、それでも不明なプロトコルとしてエラー応答を取得する必要があります。エラー401としてログ印刷はTURNプロトコルログ?次に、認証に問題があることを意味します。EC2 インスタンスが正しいインバウンド プロトコル トラフィックに対して有効になっている場合、EC2 インスタンスを使用するために他の問題が発生しない可能性があります。これは、TURN サーバーの構成またはサポートに関連している可能性があります。

于 2015-12-11T16:21:32.383 に答える