Linuxインフラ実践

ルーティングの仕組みとLinuxでのルーティング設定

Linuxインフラ実践
記事内に広告が含まれています。

「なぜパケットがこの経路を通るのか?」——ルーティングを理解すると、ネットワーク設計や障害調査の精度が格段に上がります。

ルーティングとは

ルーティングはパケットを「どの経路で転送するか」を決める仕組みです。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 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。

コメント

タイトルとURLをコピーしました