過去問ドリル

LinuCレベル1 ネットワークの基礎 問32

ネットワークの基礎/基本的なネットワークの問題解決

複数のネットワークインタフェースと経路を持つサーバーで、宛先192.0.2.10へのパケットが、どのインタフェースから、どのゲートウェイを経由し、どの送信元アドレスで送り出されるかを確認したい。コマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「ネットワークの基礎」に対応。実際の試験問題ではありません)

正解:C

解説

ip route get は、指定した宛先に対してカーネルが実際に選ぶ経路を問い合わせ、「192.0.2.10 via 192.168.1.1 dev eth0 src 192.168.1.5」のように、経由するゲートウェイ(via)、送出インタフェース(dev)、送信元アドレス(src)を表示します。ip route show でも経路表の一覧は見られますが、どの経路が選ばれるかは最長一致などを自分で判断しなければなりません。経路が複数あるホストで想定と違うインタフェースから通信が出ていく問題を調べるときに役立ちます。

選択肢ごとの解説

  • A誤り。ip neigh はARP(IPv6ではNDP)の近隣キャッシュを表示するもので、経路の選択結果は表示しません。
  • B誤り。hostname -I はホストに設定されているIPアドレスの一覧を表示するだけで、宛先ごとの経路は分かりません。
  • C正しい。宛先に対してカーネルが選ぶ経路を、ゲートウェイ・インタフェース・送信元アドレスとあわせて表示します。
  • D誤り。ip -s link はインタフェースごとの送受信パケット数やエラー数などの統計を表示するもので、経路は表示しません。
LinuCレベル1の問題を演習モードで解く