(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】ip routeで表示されるdev,via,src,protoの意味と見方

スポンサーリンク

はじめに

ip routeコマンドでよく見るタイトルの文言の意味とその見方を簡単に解説します。
尚、詳細が知りたければman ip routeでも確認可能です。

環境情報
  • Red Hat Enter Prise Linux Server 7.6
  • IP-ROUTE(8)

dev/via/src/protoの意味

devはパケットを流すデバイス名を指定し

dev NAME
 only list routes going via this device.

viaはパケットを流すIPアドレスを指定し

via [ FAMILY ] ADDRESS
 the address of the nexthop router, in the address family FAMILY. 

srcはパケットの送信元IPアドレスを指定し

src ADDRESS
  the source address to prefer when sending to the destinations covered by the route prefix.

protocolはどのようにルールが作成されたのかを示します。

protocol RTPROTO
 the routing protocol identifier of this route. 

例えばproto kernrlとなっている場合はカーネルが自動生成した経路ということを意味しており、他にもdockerやKubernetesを利用している場合はOSに入っているルーティングソフトウェアに沿って(例えばproto bird等)文言が入ったりします。

以下、よく見る構文を例に解説しました。

例文で解説

上記ルールに沿って考えると

A dev B proto x scope x src C

というルールは送信元IPがCで送信先IPがAの通信はデバイスBに流すことを意味します。この構文は、具体的には以下のような表示となり、自分のIPアドレスが所属するネットワークアドレスに対するルーティング情報として利用されます。

10.11.12.0/24 dev ens0 proto kernel scope link src 10.11.12.13 metric 100

他にも以下構文であれば

A via B dev C proto x

送信先IPがAの通信はデバイスCを用いてIPアドレスBに転送を流すことを意味します。

終わりに

ip routeコマンドはデフォルトゲートウェイを確認する際によく利用しますが、対象サーバと疎通確認ができない場合の原因調査でも利用できるので、viaやsrcの見方は覚えておくと役立つと思います、