ネットワークのトラブルシューティングやルーティング設定を確認したいとき、Linuxの「ルーティングテーブル」を見ることが必要になります。
その際に活躍するのが「ip r」コマンドです。
本記事では、「ip r」コマンドでルーティング情報を表示する方法について、初心者の方にもわかりやすく解説します。
具体的な表示例や関連するオプション、そして「route」コマンドとの違いにも触れながら、実務で役立つ知識をお伝えします。
「ip r」は、「ip route」の略で、Linuxにおけるルーティングテーブル(経路情報)を表示するコマンドです。
「ip」コマンドは「iproute2」というパッケージに含まれており、従来の「ifconfig」や「route」コマンドの後継として推奨されています。
「r」は「route」の略で、「ip r」は「ip route show」と同じ意味になります。
つまり、「現在設定されているルーティング情報」を表示するための最もシンプルな方法というわけです。
Linuxターミナルで以下のコマンドを入力してみましょう。
ip r
または
ip route show
このコマンドを実行すると、次のような出力が表示されることがあります:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
それぞれの意味を説明します。
default
: デフォルトルート(宛先が明示されていないパケットが通るルート)via 192.168.1.1
: ゲートウェイのIPアドレスdev eth0
: 使用されるインターフェース(この例では eth0)proto dhcp
: ルート情報がDHCPによって設定されたことを意味するmetric 100
: 優先度(値が小さいほど優先)default via 192.168.0.1 dev wlan0
この場合、すべての未定義のトラフィックは 192.168.0.1 を通じて wlan0
インターフェースから外部に送信されます。
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.101
これは、192.168.0.0/24(サブネット)内へのトラフィックはゲートウェイを通らず、直接 wlan0
から通信することを示しています。
「ip r」はシンプルですが、オプションを使うことでさらに詳しい情報やフィルタリングが可能になります。
特定のIPアドレスに対してルートがどうなっているかを確認したい場合は、以下のように記述します。
ip route get 8.8.8.8
出力例:
8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.100 uid 1000
cache
この出力は、8.8.8.8(GoogleのDNS)に到達するには、192.168.1.1 をゲートウェイとして使用し、eth0 を使って送信することを示しています。
ルートを追加する場合(例:静的ルート設定):
sudo ip route add 192.168.10.0/24 via 192.168.1.254
削除する場合:
sudo ip route del 192.168.10.0/24
従来、ルーティングテーブルの表示には「route」コマンドが使われてきました。
しかし、現在のLinuxディストリビューションでは「iproute2」が標準となっており、「route」は非推奨とされる傾向があります。
例えば「route -n」と「ip r」はどちらもルーティング情報を表示できますが、「ip」コマンドはより柔軟で、IPv6にも対応しています。
比較項目 | routeコマンド | ip route コマンド |
---|---|---|
IPv6対応 | 一部対応のみ | 完全対応 |
現在の標準 | 非推奨 | 推奨 |
柔軟性 | 限定的 | 高い(他機能と統合) |
学習コスト | 低い | やや高め |
例えば、外部にpingが通らない場合、「ip r」でゲートウェイの設定が間違っていないかを確認できます。
意図しない経路やゲートウェイが設定されていれば、原因の特定が容易になります。
仮想マシンやLXCコンテナなど、複数のネットワークインターフェースがある場合は、「ip r」でそれぞれのNICがどうルーティングされているかを確認することが重要です。
Linuxのルーティングテーブルは基本的に以下のような要素で構成されます。
ルーティングは「もっともマッチするルート(最長一致)」に従って行われます。
そのため、複数のルートがある場合は、最も具体的なサブネットが優先されます。
「ip r」コマンドは、Linuxでルーティング情報を確認するための強力かつシンプルなツールです。
初心者でも使いやすく、ネットワークトラブルの切り分けや複雑な構成を理解する上で欠かせない存在となっています。
従来の「route」コマンドに慣れていた方も、今後は「ip」コマンドの使用にシフトしていくことで、より柔軟で精密なネットワーク管理が可能になります。