3CXファイアウォールチェッカーを使用したリモート内線とVoIPプロバイダーのトラブルシューティング
3CXファイアウォールチェッカーの紹介
3CX Firewall Checkerは、お使いのルーターまたはファイアウォールでVoIPプロバイダー、ブリッジ、外部内線および3CXトンネル接続によるネットワークトラフィックが可能か確認するのに使用することができるツールです。 サポートされる3CX電話システム構成では、すべての必要なポートが3CX電話システムマシンに向かってLANに1対1で転送されることが必要です。 それ以下の場合は、サポートされていない設定とみなされます。
この例が動作するように、いくつかの仮定をします。
- 3CX Phone SystemマシンのIPアドレスは「192.168.0.100」、テストはポート「9500」に対するものであるとします。
- WAN-to-LANデバイスのWANポートのパブリックIPアドレスは「11.22.33.44」、つまり外部IPアドレスになります。
ポート転送情報
基本的に、ポートを3CX Phone Systemマシンに正しく転送するには、PBXマシンから発信され、そのヘッダーに「ソースIP::ポート」があるUDPパケットには、「192.Source IP::ポート」の読みがあります。168.0.100::5060 “のUDPパケットは、最終目的地(通常はVoIPプロバイダサービス、リモート内線、ブリッジPBX)には、イーサネットの “ソースIP::ポート “ヘッダーが “11.22.33.44::5060 “となるよう到達しなければなりません。 つまり、IPアドレスは(トラフィックがインターネットクラウド上でルーティングできるように)変換される必要があるにもかかわらず、ポートは変換されてはならないのです。 さらに、イーサネットヘッダーの「宛先IP::Port」が「11.22.33.44::5060」であるWANから発信されるUDPパケットは、イーサネットヘッダーの「宛先IP::Port」が「192.168.0.100::5060」の3CX Phone Systemマシンに到着しなければなりません。
3CX Firewall Checkerは、ポートマッピングが正しく構成されているかどうかを判断し、ファイアウォールを正しく構成するのに役立つ追加情報を提供するために使用することができます。
3CXファイアウォールチェッカーを実行する
3CXファイアウォールチェッカーを実行するには、認証情報を使用して3CX管理コンソールにログインし、
- 「ダッシュボード」で「PBXステータス」セクションの「Firewall Check」(ファイアウォール チェック)をクリックします。
- 「実行」をクリックし、ファイアウォール・チェックを開始します。
ファイアウォールチェッカーが起動すると、ネットワークテストが実行され、ファイアウォールまたはボーダーデバイスの構成に応じて、問題の修正/トラブルシューティングのための情報が提供されます。 テストの間、PBXは使用できなくなります。 テストは、テストが成功した場合はチェックした各ポートごとに1秒、ポートがポートチェックに失敗した場合は5~10秒の間続きます。 デフォルトでは、ファイアウォールチェッカーは 9000 ~ 10999 の範囲内のポートをチェックします。 すべてが正しく設定されている場合、テストは1分未満で終了します。 すべてのポートに問題がある場合、テストは4~9分かかることがあります。 また、テストをキャンセルするオプションもあります。
3CX Firewall Checker Tests
Firewall Checkerは、STUNサーバーにさまざまな要求を出して、接続性をチェックします。
Test 1 – Internet Reachability Test
このテストは、3CX PBXがチェックされるポートからインターネット上で動作するSTUNサーバーと通信できることをチェックします。 このテストでは、STUNサーバーのホスト名が指定されている場合、DNS解決チェックも実行されます。
テスト1で失敗した場合は以下を確認してください:
- インターネットへの接続に一般的な問題がある可能性があります。
- 3CX Phone Systemを実行しているマシンから、チェックされているポートでインターネットに接続できるように、ファイアウォールを設定する必要がある場合があります。 3CX Phone Systemが使用するポートを確認します。
- ファイアウォールは、TCPとUDPの両方でチェックされるポートへの両方の接続を許可するように設定する必要がある場合があります。 もう一度、3CX Phone Systemが使用するポートを確認します。
- STUNサーバーが利用できない場合、このテストは失敗します。 設定」>「ネットワーク」>「パブリックIP」のSTUNサーバー設定が正しいか、別のSTUNサーバーを使用してテストすることを確認してください。
- STUNサーバが使用しているポートを確認してください。
- WAN-LAN機器(ルーターやファイアウォール)とは別に、ローカルマシンにインストールされているWindowsファイアウォールが、確認したポートへの接続を許可しているかどうか確認します。 アンチウイルスやその他のアンチマルウェアソフトウェアは、このプロセスを妨害することが知られています。 これらを無効化またはアンインストールして確認する必要があります。 注:これらのアンチマルウェアプログラムを無効にするだけでは、テストに合格しない場合があります。
- ISP がチェックされるポートのトラフィックをブロックしている可能性があります。
テスト 2 – One on One Port Forwarding (a.k.a. Inbound Connection) Test
このテストで、ファイアウォール チェッカーは、インターネット上のサーバーがチェックされるポートで 3CX Phone System と接続して通信できるかを判断しようと試みます。
このテストでは、3CXファイアウォールチェッカーはチェックされたポートからSTUNサーバーに要求を送信し、チェックされたポートで別のIPアドレスからPBXに接続するようSTUNサーバーに要求します。
テスト1が成功し、テスト2が失敗した場合、以下を確認する必要があります。
- WAN to LANデバイス(ファイアウォールまたはルーター)に、チェック対象のポートに対して静的な1対1のポート転送が設定されているかどうか。 3CX電話システムで使用されるポートを説明したこのブログ記事をもう一度ご覧ください。
結果/エラーメッセージ
このセクションでは、Firewall Checkerによって返される結果/エラーのリストを提供します。 VoIPは動作可能です。 この構成はサポートされています。”
すべてのテストが正常に完了しました。 WAN to LANデバイス(ファイアウォール/ルーター)は、指定されたポートでインターネットへの接続を許可し、1対1のポート転送を正しく実行します。 この構成はサポートされています。
“STUN server has no second address.”
正しく設定されていないSTUNサーバーを使用している場合、このエラーメッセージが表示されます。 STUNサーバーには2つのアドレスが必要です。
- 3CX管理コンソールにログインします。
- 「設定」 > 「ネットワーク」 > 「パブリックIP」 をクリックします。
- 「外部IP設定」セクションを探し、次のstunサーバーのいずれかを設定します:stun.3cx.com、stun2.3cx.com、stun3.3cx.com、stun4.3cx.com。
「失敗しました – 応答が受信されないか、ポートマッピングが閉じられています。 ポート転送が正しく設定されていません。”
Port Forwarding is not configured correctly for the port being checked. “確認されたポートに対して、ポート転送が正しく設定されていません。 この場合、VoIPプロバイダーやリモートエクステンションは機能しません。 ルーター/ファイアウォールにログインし、3CXが必要とするポートを入力してポート転送を設定し、それらを3CX Phone SystemマシンのIPアドレスに転送します。
“Failed – Firewall check failed. いくつかのエラーが検出されました。 ファイアウォールの設定を確認し、テストをやり直してください」
このメッセージは、一部のポートがテストに合格し、他のポートが不合格の場合に表示されます。 どのポートがテストに失敗したかを調査し、それらのポートに対するポートフォワーディングを確認する必要があります。 また、ファイアウォール/ルーターが特定のポートの接続を別のIPアドレスに転送していないことを確認します。 ポートは3CX Phone SystemのIPアドレスに転送される必要があります。
「失敗 – 不正な応答を受信 -(別名:対称型NAT)」。 ポート転送が正しく実装されていません。”
STUNサーバーから得られた応答は、1対1のNAT(フルコーンNAT)がないことを示します。 3CX Phoneシステムは、VoIPプロバイダー、ブリッジ、および外部内線が動作するように、受信と送信で1対1のポート転送を必要とします。
「STUNサーバーが応答しないか、ポート転送がファイアウォールで設定されていない」
このテストに使用したSTUNサーバーは応答しませんでした。 考えられる理由は次のとおりです。
- STUN サーバに到達できません。
- STUN サーバが停止しています。
- ポート転送が正しく設定されていません。
“STUN サーバのアドレスを解決できません”
STUN サーバの IP アドレス解決に使用した DNS 解決が失敗しました。 DNSの問題か、STUNサーバーが完全に動作を停止した可能性があります。
「失敗-設定されたSTUNサーバーから不正な応答または応答が受信されません」。 インターネット接続、DNS設定を確認するか、設定>ネットワーク>外部IP設定セクションからSTUNサーバーを変更してください”
このメッセージが表示された場合、ポート転送が正しく実装されているかどうかを確認してください。 ファイアウォールがパケットをブロックしている可能性があります。 静的ポート転送の設定方法については、こちらの記事を参照してください。
“Failed – Port is in use by another application on this computer.”(失敗しました – ポートはこのコンピュータ上の別のアプリケーションによって使用されています)。 または「SIPポートがプロセス{0}によって使用中です。 3CXファイアウォールチェッカーはSIPポートが空いていることを必要とします」
このテストに必要なポートは、コンピュータにインストールされている別のアプリケーションによって現在使用されています。
netstat -ano | findstr /I /C: “PID” /C:”:9500″
9500を確認したいポート番号に置き換えてください。 PIDの欄に指定したポートでリッスンしているプロセスのプロセスIDが表示されます。 この番号を使用して、タスクマネージャを使用するか、コマンドプロンプトで次のコマンドを実行して、プロセスを識別します。
tasklist /fi “pid eq 4”
4を前回識別したPIDに置き換えます。 ファイアウォールチェックを実行できません。 この構成はサポートされていません」
「ネットワーク」>「外部IP構成」の項で設定したSTUNサーバに到達できません。
- 3CX管理コンソールにログインします。
- [設定] > [ネットワーク]をクリックします。
- 「外部IP設定」セクションに移動し、STUNサーバーを3CXがホストしている次のいずれかに変更します:stun.3cx.com、stun2.3cx.com、stun3.3cx.com、stun4.3cx.com.