Linux – routeコマンドの使い方 – ルーティングテーブルの表示・設定
routeコマンドは、Linuxでネットワークのルーティングテーブルを表示・設定するためのツールです。
ルーティングテーブルは、パケットがどのネットワークインターフェースを通じて送信されるかを決定します。
route
を単独で実行すると現在のルーティングテーブルが表示されます。
新しいルートを追加する場合はroute add
、削除する場合はroute del
を使用します。
例えば、特定のネットワークへのルートを追加するにはroute add -net
、デフォルトゲートウェイを設定するにはroute add default gw
を用います。
ただし、現在はip route
コマンドが推奨されています。
routeコマンドとは
route
コマンドは、ネットワークのルーティングテーブルを表示・設定するためのコマンドです。
ルーティングテーブルは、データパケットがどの経路を通って送信されるかを決定するための情報を持っています。
このコマンドを使用することで、ネットワークのトラブルシューティングや、特定のネットワーク経路の設定が可能になります。
主な機能は以下の通りです。
機能 | 説明 |
---|---|
ルーティングテーブルの表示 | 現在のルーティングテーブルを確認することができる。 |
ルートの追加 | 新しいルートをテーブルに追加することができる。 |
ルートの削除 | 不要なルートをテーブルから削除することができる。 |
このコマンドは、特にネットワーク管理者やシステム管理者にとって重要なツールであり、ネットワークの構成やトラブルシューティングに役立ちます。
routeコマンドでルーティングテーブルを表示する
ルーティングテーブルを表示するには、route print
コマンドを使用します。
このコマンドを実行することで、現在のネットワーク経路の情報を確認することができます。
表示される情報には、宛先ネットワーク、サブネットマスク、ゲートウェイ、インターフェース、メトリックなどが含まれます。
コマンドの実行例
以下のコマンドをコマンドプロンプトで実行します。
route print
===========================================================================
Interface List
1...00 1A 2B 3C 4D 5E ......Intel(R) Ethernet Connection
2...00 1A 2B 3C 4D 5F ......Microsoft Wi-Fi Direct Virtual Adapter
3...00 1A 2B 3C 4D 60 ......Microsoft Hosted Network Virtual Adapter
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 10
192.168.1.0 255.255.255.0 On-link 192.168.1.100 281
192.168.1.100 255.255.255.255 On-link 192.168.1.100 281
192.168.1.255 255.255.255.255 On-link 192.168.1.100 281
===========================================================================
Persistent Routes:
None
表示される情報の解説
- Network Destination: 宛先ネットワークのアドレス
- Netmask: サブネットマスク
- Gateway: パケットが送信されるゲートウェイのアドレス
- Interface: 使用されるネットワークインターフェースのアドレス
- Metric: ルートの優先度を示す値
この情報をもとに、ネットワークの状態を把握し、必要に応じてルートの追加や削除を行うことができます。
routeコマンドでルートを追加する
新しいルートを追加するには、route add
コマンドを使用します。
このコマンドを使うことで、特定の宛先ネットワークに対して、指定したゲートウェイを経由するルートを設定することができます。
ルートを追加することで、特定のネットワークへの通信経路を明示的に指定することが可能になります。
コマンドの構文
route add <宛先ネットワーク> mask <サブネットマスク> <ゲートウェイ> [metric <メトリック>]
コマンドの実行例
例えば、宛先ネットワークが192.168.2.0
、サブネットマスクが255.255.255.0
、ゲートウェイが192.168.1.1
の場合、以下のようにコマンドを実行します。
route add 192.168.2.0 mask 255.255.255.0 192.168.1.1
OK!
オプションの解説
- <宛先ネットワーク>: 追加したいルートの宛先ネットワークのアドレス
- mask <サブネットマスク>: 宛先ネットワークのサブネットマスク
- <ゲートウェイ>: パケットを送信する際に使用するゲートウェイのアドレス
- [metric <メトリック>]: ルートの優先度を指定するオプション(省略可能)
このコマンドを使用することで、特定のネットワークへの通信経路を柔軟に設定でき、ネットワークの構成を最適化することができます。
routeコマンドでルートを削除する
既存のルートを削除するには、route delete
コマンドを使用します。
このコマンドを使うことで、不要になったルートをルーティングテーブルから削除し、ネットワークの経路を整理することができます。
ルートを削除することで、誤った経路を排除し、ネットワークの効率を向上させることが可能です。
コマンドの構文
route delete <宛先ネットワーク> [mask <サブネットマスク>]
コマンドの実行例
例えば、宛先ネットワークが192.168.2.0
の場合、以下のようにコマンドを実行します。
サブネットマスクを指定することもできますが、特定のルートを削除する場合は宛先ネットワークのみでも可能です。
route delete 192.168.2.0
OK!
オプションの解説
- <宛先ネットワーク>: 削除したいルートの宛先ネットワークのアドレス
- [mask <サブネットマスク>]: 削除するルートのサブネットマスク(省略可能)
このコマンドを使用することで、不要なルートを簡単に削除し、ネットワークの管理を効率化することができます。
ルートの削除は、特にネットワークの変更や再構成を行う際に重要な作業です。
routeコマンドの活用例
route
コマンドは、ネットワーク管理やトラブルシューティングにおいて非常に便利なツールです。
以下に、具体的な活用例をいくつか紹介します。
1. 特定のネットワークへの経路設定
特定のサブネットに対して、異なるゲートウェイを使用する必要がある場合、route add
コマンドを使って経路を追加します。
例えば、192.168.3.0
ネットワークに対して、192.168.1.2
をゲートウェイとして設定する場合、次のように実行します。
route add 192.168.3.0 mask 255.255.255.0 192.168.1.2
2. 複数の経路を設定する
異なるネットワークに対して複数の経路を設定することも可能です。
例えば、192.168.4.0
と192.168.5.0
の2つのネットワークに対して、それぞれ異なるゲートウェイを設定する場合、次のように実行します。
route add 192.168.4.0 mask 255.255.255.0 192.168.1.3
route add 192.168.5.0 mask 255.255.255.0 192.168.1.4
3. ルートの確認とトラブルシューティング
ネットワークの問題が発生した際には、route print
コマンドを使用して現在のルーティングテーブルを確認します。
これにより、正しい経路が設定されているか、不要なルートが存在しないかをチェックできます。
route print
4. 不要なルートの削除
ネットワーク構成が変更された場合、古いルートを削除することが重要です。
例えば、192.168.4.0
ネットワークのルートが不要になった場合、次のように実行します。
route delete 192.168.4.0
5. メトリックを指定したルートの追加
特定のルートに優先度を設定したい場合、メトリックを指定してルートを追加することができます。
メトリックが低いほど優先度が高くなります。
例えば、次のように実行します。
route add 192.168.6.0 mask 255.255.255.0 192.168.1.5 metric 5
これらの活用例を通じて、route
コマンドを効果的に利用し、ネットワークの管理やトラブルシューティングを行うことができます。
routeコマンド使用時の注意点
route
コマンドを使用する際には、いくつかの注意点があります。
これらを理解しておくことで、ネットワークの設定やトラブルシューティングをより安全かつ効果的に行うことができます。
1. 管理者権限の必要性
route
コマンドを実行するには、管理者権限が必要です。
コマンドプロンプトを管理者として実行しないと、ルートの追加や削除ができないため、必ず管理者権限で実行するようにしましょう。
2. 正確な情報の入力
宛先ネットワークやゲートウェイのアドレスを正確に入力することが重要です。
誤った情報を入力すると、ネットワーク接続が失われたり、通信が正しく行われなくなる可能性があります。
特に、IPアドレスやサブネットマスクの形式に注意が必要です。
3. ルーティングテーブルの確認
ルートを追加または削除する前に、現在のルーティングテーブルを確認することをお勧めします。
route print
コマンドを使用して、既存のルートを把握し、重複や不要なルートを避けることができます。
4. メトリックの設定
複数のルートが存在する場合、メトリックの設定に注意が必要です。
メトリックが低いほど優先度が高くなるため、意図しない経路が選択されることを防ぐために、適切なメトリックを設定することが重要です。
5. ルートの持続性
route add
コマンドで追加したルートは、システムの再起動後に消失することがあります。
持続的なルートを設定する場合は、-p
オプションを使用して、永続的なルートを追加することができます。
例えば、次のように実行します。
route -p add 192.168.7.0 mask 255.255.255.0 192.168.1.6
6. トラブルシューティングの際の注意
ネットワークのトラブルシューティングを行う際には、route
コマンドを使用する前に、他の要因(ファイアウォール設定、物理接続など)も確認することが重要です。
ルーティングの問題だけでなく、他の要因が影響している場合もあるため、総合的に判断する必要があります。
これらの注意点を考慮することで、route
コマンドを安全かつ効果的に活用し、ネットワークの管理やトラブルシューティングを行うことができます。
まとめ
この記事では、route
コマンドの基本的な使い方や、ルーティングテーブルの表示・設定方法、ルートの追加や削除、さらには活用例や注意点について詳しく解説しました。
これにより、ネットワーク管理やトラブルシューティングにおいて、route
コマンドを効果的に活用するための知識が得られたことでしょう。
今後は、実際のネットワーク環境でこのコマンドを試し、設定や管理に役立ててみてください。