1. ホーム
  2. コース一覧
  3. Linux応用コース
  4. ゲートウェイと疎通確認

Linux応用コース2/11

ゲートウェイと疎通確認

デフォルトゲートウェイの特定と疎通確認を行うrouteコマンドと pingコマンドを解説します。

デフォルトゲートウェイの特定方法とネットワーク上での疎通確認について、理解を深めましょう。

ゲートウェイ

ゲートウェイ は「玄関・入口」の役割を果たし、異なるネットワーク間でパケットを中継する機器のことを指します。特に、 デフォルトゲートウェイ は通信を行う際の初期ルートとして利用されるゲートウェイです。

ルーティングテーブル

ルーティングテーブルは、ルータに記録されるネットワーク上の通信経路の情報です。インターネットで通信を行う際の経路選択(ルーティング処理)時に参照されます。

ip routeコマンド

ip route コマンドはルーティングテーブルの設定や参照を行うコマンドです。特に静的ルートとは、宛先のネットワークへのルートを手動で設定したもので、ネットワークの状況が変化しても自動でルートが変更されません。

ip route

ip routeで現在のルーティングの状況を確認することができます。

[root@9b48a14640bc /]# ip route
default via 172.17.0.1 dev eth0 
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2

ip routeの出力項目

ip route get

ip route get コマンドは、特定の宛先への最適な送信ルートを表示します。

[root@9b48a14640bc /]# ip route get 172.19.1.2
172.19.1.2 via 172.17.0.1 dev eth0 src 172.17.0.2 uid 0 
# 172.17.0.2という送信元から172.19.1.2へはeth0を利用して172.19.0.1経由で送信されることがわかる。

ip route add

ip route add は、新たにルーティングテーブルに静的ルートを追加します。デフォルトルートの設定や特定のネットワークへのルートの追加が可能です。

ip route add アドレス/サブネット via ゲートウェイ dev デバイス名
ip route add default via 172.17.0.1  #デフォルトルートの設定
ip route add 10.0.4.0/24 via 10.0.2.1 dev eth1 #特定のネットワークへのルートの追加

ip route del

ip route delコマンドは、ルーティングテーブルからルート情報を削除する際に使うコマンドです。

ip route del アドレス/サブネット via ゲートウェイ dev デバイス名
ip route del 10.0.4.0/24 via 10.0.2.1 dev eth1 #ルート情報の削除

routeコマンド

routeip routeと同様に、ルーティングテーブルの管理を行う古い形式のコマンドです。routeコマンドで現在のルーティングテーブルの状況を確認することができます。

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.17.0.1      0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

ルーティングテーブルの各項目

route add

route add コマンドは現在のルーティングテーブルに新たにルート情報を追加するためのものです。

今回は、デフォルトルートの設定と宛先ネットワーク10.0.0.1に通信する時に172.17.0.1のデフォルトゲートウェイに送信する場合です。

route add  [宛先のネットワーク] netmask [ネットマスク] gw [ゲートウェイ]
route add default gw 172.17.0.1 #デフォルトルートの追加
route add  10.0.0.1 netmask 255.255.255.0 gw 172.17.0.1 #ルートの追加

route del

route delコマンドはルーティングテーブルのルート情報を削除する際に使用するコマンドです。先ほど route add コマンドで追加した情報( 10.0.0.1 netmask 255.255.255.0 gw 172.17.0.1)を削除する場合を例にします。

route del  [宛先のネットワーク] netmask [ネットマスク] gw [ゲートウェイ]
route del  10.0.0.1 netmask 255.255.255.0 gw 172.17.0.1

デフォルトルートの変更

デフォルトルートを変更する際には、まず既存のデフォルトルートを削除し、その後で新たなデフォルトルートを追加する必要があります。これはルーティングテーブルに二つ以上のデフォルトルートが存在すると、通信が競合する可能性があるためです。

pingコマンド

pingコマンドを使うと、ICMPプロトコル のecho request / echo replyメッセージを使った通信テストプログラムを使用した疎通確認を行えます。

使い方

ping 宛先IPアドレス(または宛先ドメイン名)

主なオプション

オプション説明
-c疎通確認の回数を指定します。指定した回数で実行し、確認を終了します。
-w疎通確認の最大実行時間を指定します。指定した時間が経過すると実行を終了します。

使用例

# 強制終了(control + c)しない限り、疎通確認を実行し続けます。
ping hogehoge.co.jp
# 3回の疎通確認で、実行を終了します。
ping -c 3 hogehoge.co.jp
# 最大3秒間、疎通確認を実行し、その後実行を終了します。
ping -w 3 hogehoge.co.jp

pingコマンド出力結果

項目説明
bytesパケットサイズ。デフォルトでは64バイト(8バイトのICMPヘッダーと56バイトのデータ)。ただし、これはOSや実行環境によって異なる場合があります。
timeパケットを送信してから応答が返ってくるまでの時間
TTLパケットの有効期限。ループ防止目的のために設定されている。L3レベルのネットワーク機器を経由するごとに値が1ずつ減っていく。
imp_seq送信したパケットのシーケンス番号。この番号に抜けがあった場合、パケットロスが発生していると判断できます。

まとめ

今回はデフォルトゲートウェイの特定方法とネットワーク上での疎通確認について学習しました。

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。