このページの本文へ

試してわかるルーティング第8回

デフォルトゲートウェイの限界を乗り越えろ!

ルーティングの基礎「静的ルーティング」を試してみよう

2011年04月05日 09時00分更新

文● 編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

デフォルトゲートウェイは便利な仕組みだが、悪くいえば「丸投げ」なので、無駄なパケットが発生する場合がある。そこで、丸投げではなくきちんと目的にパケットを転送する方法として、ルータにルーティングの設定を行なってみよう。

きちんと宛先を設定する

 前回同様に、図1のネットワークで、192.168.1.0/24ネットワーク側から192.168.3.3のようにルータBにもつながっていないアドレス宛にパケットを送ったとしよう。

図1 ヤマハのルータ「RTX1100」を2台使った今回の実験環境

 このパケットを受け取ったルータAは、自身に直結していないIPアドレスが宛先になっているので、無条件でルータBに転送する。今度はこのパケットを受け取ったルータBだが、こちらも自身には直結していないのでルータAに送り返す。パケットにはTTL(Time To Live)が設定されているので、そのうちどちらかのルータが破棄してくれる(画面1)。

画面1 TTLが0になってパケットが破棄されたことがわかる

 とはいえ、これはネットワークの帯域を浪費する意味のないやり取りであるうえ、ルータにも負担がかかる。つまり、今回のようにルータの数が少なく、つながるネットワークが把握できているのであれば、それぞれきちんとルータに設定したほうがよい。そうすることで、無駄なやり取りが減らせるわけだ。

 では具体的に、どのように設定すればよいのだろうか。まずはルータAから見ていこう。

 ルータAがルータBに転送しなければならないパケットは、宛先がルータBにつながったネットワークのものだけである。今回の例に挙げたネットワークでは、192.168.2.0/24宛のパケットだけだ。そこで、画面2のように設定を変更する。

画面2 いったんデフォルトゲートウェイを削除して、新たにルータBにつながったネットワークの情報を追加する。インターフェイスにIPアドレスを設定すれば、GUIが使える

 この状態で、192.168.1.0/24宛か192.168.2.0/24宛ではないパケットを受け取っても、転送先がルーティングテーブルにないので、何らかのエラーを返してくるはずだ。pingコマンドで試してみたところ、PCには画面3のように表示された。ルータAのルーティングテーブルに登録されていないネットワークアドレスなので、予想通り転送せずに送信元にエラーを通知しているわけだ。

画面3 ルーティングテーブルにないネットワークには転送できないので、エラーを返す

 一方のルータBにも、ルータAと同様の設定が必要になる。こちらは192.168.1.0/24宛のパケットを10.0.0.2のインターフェイスから10.0.0.1宛に送信すると設定すればよい(画面4)。

画面4 ルータB側の設定。これを忘れるとパケットが戻ってこない

 ●

 ここまで試してきたのは、すべてルーティングテーブルを手動で設定する「静的ルーティング」である。ルータの台数が少なく、収容するネットワークがそれほど多くなければ静的ルーティングでも問題ない。しかし、ルータの台数や管理対象となるネットワークが増えてくると、設定変更などの手間もかかるし、入力ミスでパケットがルーティングされないといった事故も起こり得る。

 そこで次回は、ルータの台数を増やしてネットワークを複雑にしつつ、ルーティングテーブルを自動で更新する「動的ルーティング」を試してみたい。

カテゴリートップへ

この連載の記事
ピックアップ