558
606

More than 3 years have passed since last update.

「ネットワークがおかしいんですけど」ハンドブック

Last updated at Posted at 2021-04-14

これはなに?

社内ネットワークで問題が起こった時に、私が調査する観点を書き出してみた。
各組織、各人のやり方はあると思いますが、何かの参考になれば。
#無線に明るくないため、無線は割愛

調査概要

レイヤー

L1 -> L3(L4) -> L2 -> L7 の順番で見る。

  • 何はなくとも物理層。障害の大半はここ。
  • 次いで IPアドレス周りやフィルタ。

各レイヤーで見ることは後半で。

切り分け観点

  • 問題が起こっているのは一人か?複数か?
    • 複数の場合どの単位か?島、セグメント、など。
  • 問題は一時的?常時?
    • 一時的なら何と相関するか?トラフィック量、日時、など。
  • 今まで使えていたのか?新たに使おうとしてだめなのか?
  • 物理障害?論理障害?
  • どこまで疎通できるのか?
    • デフォルトゲートウェイ(デフォゲ)?ISPのルータ?8.8.8.8?

調査に使う代表的なコマンド/ツール

  • ifconfig ipconfig
    • 端末の IPアドレス設定など確認
  • netstat route
    • 端末のルーティングテーブル確認
  • ping
    • どこまで疎通できるか
    • ICMP のエラーメッセージは宝物
  • traceroute tracert
    • どこまで疎通できるか
    • パケットが届いていないのか、ICMP エラーを返さない設定なのかは判断つかないので、インターネット上は参考程度に
  • arp
    • 実存確認
    • IPアドレス被り確認
  • tcpdump wireshark
    • 端末でのパケット確認
    • 適切な場所で pcap を取得できれば、解決に近づく

知識

  • TCP/IP の正しい挙動
    • 正しい挙動との差分を見ることで、事象を把握する

L1調査

障害が物理セグメントに紐づく

  • 物理ミスがないか確認する
    • HUBなどの電源が抜かれてないか
    • ポート挿し間違え
    • ケーブル (ストレート/クロス)
      • AutoMDI/MDIX は、autoネゴじゃないと効かないので注意
    • メタルケーブルは 100m まで
  • ポート挿し替え、ケーブル入れ替えてみる
    • ポート/ケーブル不良がないか切り分ける
      • ケーブルの内部断線、接触不良はよくある
  • half でリンクアップしてる?
    • autoネゴと固定のインタフェースを接続すると、auto側が half でリンクアップする
    • 通信はできるがエラーが頻発する
    • 機器によって(Catalystなど)は 1G/half の実装がなくて、auto と 1G/full固定を接続しても 1G/full でリンクアップする機器もある

障害が端末単体

  • 同上

L3/L4調査

障害が論理セグメントに紐づく

  • ルータ調査
    • インタフェース設定確認
      • IPアドレス/マスクが正しい?
      • IPアドレスかぶりしてない?
      • エラーパケット発生頻度はどうか?
    • ルーティングテーブル確認
      • デフォゲある?
    • ping をうつ
      • 自身のIPアドレス
      • デフォゲ
      • 対向ISPルータ
      • 8.8.8.8
    • フィルタリング
      • ルータのACL
      • Firewallのポリシー
        • 上二つは、設定変更というトリガーがあるはずなので、気づきやすい
      • 端末のパーソナルファイアウォール、iptables
    • 各種リソース
      • NATテーブル
      • トラフィック
        • 理論上WireSpeed以上はでない
      • セッションテーブル
        • FW や SLB など L4 以上みる機器の場合

障害が端末単体

  • インタフェース設定確認
    • ipconfig /all ifconfig -a
      • IPアドレス/マスクが正しい?
      • IPアドレスが 169.254.x.x?
        • この場合は DHCP の IPアドレス取得失敗
          • ルータ(DHCPサーバ)との疎通?
          • ルータ(DHCPサーバ)の DHCPプール?
    • ルーティングテーブル確認
      • route print netstat -rn
        • デフォゲある?
        • 個別のルーティングが切られている?
    • 設定問題なかったら、近くから順に ping をうつ
      • 127.0.0.1(loopbackアドレス)
      • 自身のIPアドレス
      • デフォゲ
        • デフォゲが失敗したら、隣の人宛
      • 対向ISPルータ
      • 8.8.8.8
      • 本当に繋ぎたいアドレス
        • ここまでいけば L3/L2 は大抵OK

L2調査

障害が物理セグメントに紐づく

  • ルータ/SW調査
    • デフォゲの arp が正しく解決できているか
    • MACアドレステーブル確認
      • デフォゲのMACが正しいインタフェースに紐づいているか
    • 対向機器とネイティブVLAN比較
      • タグVLANを使っている場合
        • ネイティブVLANにはタグがつかない
          • ネイティブVLANが違うと認識がずれる

障害が端末単体

  • デフォゲの arp が正しく解決できているか
    • ping した後に(ping は失敗する前提) arp -a
      • 正しく解決できている
      • 違う MACアドレスが解決できている
        • 静的エントリが入っている?
        • 違うネットワークにつながっている?
      • 解決できていない
        • 違うネットワークにつながっている?

L7調査

  • DNS
    • 名前解決確認
      • nslookup dig
        • 本来のリゾルバ指定
        • オープンリゾルバ (@8.8.8.8) 指定
  • HTTP(S)
    • エラーコードある?
    • SSLネゴシエーション?
      • pcap取得してどこで失敗しているか
558
606
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
558
606