私は Altitude Software 製のダイヤラーを使用しています。この製品について知っている人はほとんどいないと思いますので、ご容赦ください。
問題: Altitude ダイヤラー ソフトウェアは、Windows Server 2012 R2 上で実行されるアプリケーションです。OS は VMware 6.7 上で仮想化されています。
エージェント/クライアントは、Altitude uAgent と呼ばれる Windows アプリケーションを介して Altitude ダイヤラー (サーバー) に接続します。
時々、Altitude サーバーのログに次のようなエラーが何千も書き込まれます: システム エラー (10054) - 既存の接続がリモート ホストによって強制的に閉じられました。
私の理解する限り、このエラーはオペレーティング システムに起因しています。
サーバーは当社のホスティング パートナーに配置され、すべてのクライアントはネットワーク レベルで VPN 経由で接続されます (PC 上の VPN クライアントではありません)。
このエラーが発生すると、どのユーザーも正常に作業できなくなります。
問題は、ホスティング パートナーもアプリケーションの作成者 (Altitude Software) も、何が起こっているのか把握できないことです。ホスティング パートナーは、ネットワークに問題は見当たらないと言っています。Altitude は、エラーは確認できるが、原因はわからないと言っています。アプリケーション外部の問題だと言っています。この状況は耐え難いものです。
クライアントは Windows 10 Pro を使用します。
私たちが試したこと:
Windows Server 2012 R2 OS を最初から再インストールし、その後 Altitude サーバーを再インストールしようとしました。2 週間後、問題が再発しました。サーバーのローカル FW は無効になっており、ウイルス対策ソフトウェアなどはインストールされていません。
TCP接続数を増やしました
状況は耐え難く、誰もこの件について解明できていないようです。このエラーを追及するアイデアはありますか?
答え1
私は Altitude でテクニカル エンジニアとして働いており、顧客環境で同じエラーに直面しました。エラー 10054 自体は、システム レベルでのソケット不足が原因で発生するシステム エラーです。次の操作で問題を解決できました。
- Altitude uCI は、プロセス間通信や他のコンポーネントとの通信にランダムなポート/ソケットを使用しています。範囲を設定/拡大するには、以下のコマンドを参照してください。デフォルトでは、TCP/UDP 接続で許可されるポートの範囲は 16000 程度のみです。
netsh int ipv4 動的ポートを設定する tcp 開始=8200 番号=57336
netsh int ipv4 動的ポートを設定 udp 開始=8200 番号=57336
以下のコマンドを実行して、新しいソケットの割り当てを確認します。
netsh int ipv4 ダイナミックポート tcp を表示
netsh int ipv4 ダイナミックポートudpを表示
- Altitude Assisted Server がインストールされているレジストリに以下のエントリを追加します。
これにより、待機遅延時間と TCP 接続数が増加します。
敬具: ウメル