「なぜパケットがこの経路を通るのか?」——ルーティングを理解すると、ネットワーク設計や障害調査の精度が格段に上がります。
ルーティングとは
ルーティングはパケットを「どの経路で転送するか」を決める仕組みです。Linuxカーネルはルーティングテーブルを参照して、各パケットをどのインターフェースに転送するかを決定します。
ルーティングテーブルの読み方
$ 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
10.0.0.0/8 via 192.168.1.254 dev eth0
# 各行の読み方
# default via 192.168.1.1 : デフォルトルート(他に一致しない場合はここへ)
# 192.168.1.0/24 dev eth0 : このネットワーク宛はeth0から直接送信
# 10.0.0.0/8 via 192.168.1.254 : 10.x.x.x宛は192.168.1.254経由
# ルートの選択ルール:最長プレフィックスマッチ(より具体的な経路が優先)
# 10.0.0.5 への経路 → 10.0.0.0/8 が 0.0.0.0/0 より優先される静的ルートの設定
# ルートを追加(一時的)
$ sudo ip route add 10.0.0.0/8 via 192.168.1.254
$ sudo ip route add 172.16.0.0/12 via 192.168.1.254 dev eth0
# デフォルトゲートウェイを設定
$ sudo ip route add default via 192.168.1.1
# ルートを削除
$ sudo ip route del 10.0.0.0/8
$ sudo ip route del default via 192.168.1.1
# 特定の宛先への経路を確認
$ ip route get 8.8.8.8
8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.100静的ルートを永続化する
# Ubuntu/Debian:Netplan
# /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
- to: 10.0.0.0/8
via: 192.168.1.254 # 追加の静的ルート
$ sudo netplan apply
# RHEL/CentOS:nmcli
$ sudo nmcli connection modify eth0 \
+ipv4.routes "10.0.0.0/8 192.168.1.254"
$ sudo nmcli connection up eth0まとめ
- ルーティングテーブルは
ip route showで確認。defaultが「それ以外全て」のデフォルトルート - ルートの選択は「最長プレフィックスマッチ」—より具体的なネットワーク指定が優先される
ip route get [宛先IP]で特定宛先への実際の経路を確認できる- 永続化はUbuntu/DebianはNetplan、RHEL/CentOSはnmcliを使う
📋 Phase 3 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。



コメント