ネットワークでは、パケットがどの経路を通って宛先に届くかを「ルーティング」によって制御しています。 その中でも静的ルーティング(Static Routing)は、管理者が手動で経路を設定する方法です。 本記事では、静的ルーティングの基本概念から、Linux・Cisco系機器での設定例まで、わかりやすく解説します。
静的ルーティングとは?
静的ルーティングとは、ルータやサーバに対して固定的な経路情報を手動で設定する方式です。 自動で経路を学習する「動的ルーティング(OSPF / BGPなど)」と異なり、管理者が明示的にルートを指定します。
項目 | 静的ルーティング | 動的ルーティング |
---|---|---|
経路設定 | 手動(管理者が指定) | 自動(プロトコルで学習) |
規模 | 小~中規模ネットワーク向け | 大規模ネットワーク向け |
冗長性 | 低い(経路障害に弱い) | 高い(自動で経路切替) |
設定の手間 | 高い(手動更新が必要) | 初期構築は複雑 |
静的ルーティングの基本構文
一般的に静的ルートは、次の形式で指定します。
宛先ネットワーク 宛先ネットマスク 次ホップアドレス
例:192.168.20.0/24 への通信を 192.168.10.1 経由で転送する場合:
宛先: 192.168.20.0
ネットマスク: 255.255.255.0
ゲートウェイ: 192.168.10.1
Linux における静的ルーティング設定
一時的な設定(再起動で消える)
sudo ip route add 192.168.20.0/24 via 192.168.10.1 dev eth0
確認は以下のコマンドで行います。
ip route show
削除したい場合:
sudo ip route del 192.168.20.0/24 via 192.168.10.1
永続的な設定(再起動後も有効)
ディストリビューションにより設定ファイルが異なります。
OS | 設定ファイル | 例 |
---|---|---|
CentOS / RHEL 系 | /etc/sysconfig/network-scripts/route-eth0 | 192.168.20.0/24 via 192.168.10.1 dev eth0 |
Ubuntu / Debian 系 | /etc/netplan/01-netcfg.yaml | routes: - to: 192.168.20.0/24 via: 192.168.10.1 |
設定後はネットワークサービスを再起動します。
sudo systemctl restart network
# または
sudo netplan apply
Cisco ルータでの静的ルーティング設定
Cisco ルータでは、ip route
コマンドで設定します。
Router(config)# ip route 192.168.20.0 255.255.255.0 192.168.10.1
設定確認:
Router# show ip route static
削除する場合:
Router(config)# no ip route 192.168.20.0 255.255.255.0 192.168.10.1
静的ルートの適用例
以下の構成を例に考えます。
[PC-A] --- (192.168.10.0/24) --- [Router1] --- (192.168.20.0/24) --- [PC-B]
- Router1 の eth0:192.168.10.1
- Router1 の eth1:192.168.20.1
- PC-A のアドレス:192.168.10.10
- PC-B のアドレス:192.168.20.10
この場合、PC-A から PC-B への通信を通すには、PC-A 側に静的ルートを追加します。
sudo ip route add 192.168.20.0/24 via 192.168.10.1
同様に、PC-B から PC-A へ戻る通信のため、PC-B 側にも逆向きルートを設定します。
sudo ip route add 192.168.10.0/24 via 192.168.20.1
これで相互通信が可能になります。
静的ルーティングが機能しない場合の確認ポイント
確認項目 | 説明 |
---|---|
ルートが正しく設定されているか | ip route show や show ip route で経路確認 |
次ホップ(ゲートウェイ)が疎通可能か | ping でゲートウェイへ到達確認 |
デフォルトルートとの競合 | より具体的なルートが優先されるため、CIDR範囲を再確認 |
ファイアウォール設定 | iptables や firewalld がパケットを遮断していないか確認 |
まとめ(静的ルーティング対応表)
目的 | 設定例 | 確認コマンド |
---|---|---|
Linux 一時的設定 | ip route add 192.168.20.0/24 via 192.168.10.1 | ip route show |
Linux 永続設定 | /etc/sysconfig/network-scripts/route-eth0 に追記 | systemctl restart network |
Cisco 機器設定 | ip route 192.168.20.0 255.255.255.0 192.168.10.1 | show ip route static |
静的ルーティングは、小規模ネットワークの構築や実験環境で非常に有効な手段です。 ネットワーク構成を明確に理解するためにも、まずは手動でルートを設定してみると理解が深まります。