はじめに
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の見方は覚えておくと役立つと思います、