私が探しているものの例ENETUNREACH

私が探しているものの例ENETUNREACH

Linuxのシステム管理およびソフトウェア開発では、システムのCライブラリおよび/またはカーネルでエラーが発生するのが一般的です。今後はこれを「errnos」(「エラー番号」の略)とします。

時々私たちが問題を診断する必要がある唯一の具体的な証拠は、アプリケーションスタックトレースのエラーを説明するいくつかのキーワードから来ています。複雑な「システムのシステム」シナリオからより具体的な情報を取得することは非常に困難です。

問題は、多くのエラーがあいまいで、それを定義するPOSIX標準に戻っても、説明がせいぜいあいまいであるということです。これらのエラーは標準レベルで緩やかに定義されていますが、最新のLinuxでは、多くのエラーには非常に具体的な原因、エラーモード、症状、およびトラブルシューティング手順が必要です。

私が探しているものの例ENETUNREACH

私の知識に基づいて、値がENETUNREACHerrno#101に関するいくつかの記事を提供します。strerror()Network Unreachableできるだけ多くのエラーに関する詳細情報を提供し、各エラーについて具体的に確認することを提供する参照を見つけたいと思います。


私はLinuxエラー番号101がLinuxで発生すると思いENETUNREACHますNetwork Unreachable

  • send()または、同じ種類のIPスタックネットワークコールを実行していますsendmsg()
  • システムは、ルーティングテーブルから宛先の「次ホップ」を検索しますが、見つかりません。

トラブルシューティング、エラーモード、および推奨事項:

  • これは、デフォルトで宛先が有効なIP(たとえば、169.254.0.0/16または他の「常に接続できない」ネットワークではない)であり、システムにデフォルトルートがある場合には発生しません。
  • したがって、ターゲットが有効なパブリックIPスペースにあり、システムに通常デフォルトのルートがあることがわかっている場合は、この呼び出しが行われたときにシステムにデフォルトのパスがないと結論付けることができます。 (デフォルトルートは宛先があるルートです0.0.0.0/0。つまり、「IPデータグラムを送信しようとするたびに次のホップは」w.x.y.zです。
  • デフォルトパスがない理由は何ですか? !- デフォルトパスを提供するネットワークインターフェイスがリンクレイヤに設定されている場合(DOWNたとえば、ifconfig eth0 downネットワークケーブルを実行または物理的に切断する場合、またはクラウドシステムから仮想的に対応する場合)、システムはデフォルトパスを削除します。
  • 問題を絞り込むのに役立つのは終わりではありません!通常、ボックスにデフォルトルートがあり、有効なIPに到達しようとすると、ENETUNREACHエンドポイントが実際に到達可能であるかどうかには関係ありません。問題の核心は、あなたのシステムがそれを把握できないことです。ルーティングテーブルからそこに行く方法。
  • したがって、リモートエンドポイントは完全に大丈夫またはダウンする可能性があります。ENETUNREACHどちらの場合も受信できます。

これらすべてのトラブルシューティング方法は「私の頭の中にある」非常に有用な情報ですが(100.0%正確であると確信することもできません)、そのソースを確認することはできません。

POSIX.1-2001(SUSv3とも呼ばれます)を見ましたが、man errnoこの規格が秘密に説明する理由は次のとおりです。

ネットワークへのパスはありません。

とても良いです。しかし、私の同僚は、どのように切り替えるのか分からない。それアプリケーションログでこの情報を確認すると、その情報を使用して見つける必要がある項目の信頼できる推論を得ることができます。


確かに、私は探していませんただ関連情報ENETUNREACH。理想的には、障害モードと原因の詳細な分析を探します。errno、または少なくとも最も一般的なものです。接続拒否、接続タイムアウト、ネットワーク到達不可、ターゲットホスト到達不可、権限拒否、デバイススペース不足など

私の考えはこれです基本的な私の分野のすべての人のための情報(クラウド運営、ほぼ排他的にLinux仮想サーバー、そして非常に複雑なシステムを使用)を見つけることができますが、私が見つけることができる唯一のことは、「これが何を意味するのかを経験することによって、取引のヒントとして学ぶべきです。 「ということです。 。

「完全に理解するには、Linuxカーネルとglibcのソースコードを読んでください」という言葉を聞いたことがありますが、返品クラウドオペレーターには役に立ちません。

クラウドオペレータがこれらのエラー番号の原因と潜在的な解決策を見つけるためのより良い方法はありますか?

ベストアンサー1

おすすめ記事