スタティックルーティングの設定
デフォルトのゲートウェイ
まず、デフォルトのゲートウェイを設定してみましょう。デフォルトのゲートウェイとは、すなはち、「自分が知らないあて先のパケットを送る場所」です。まず、それぞれルーターに繋がっているサーバー機(または端末機)の場合です。この場合「デフォルトのゲートウェイ」は、そこに直接つながっているルーターです。宅急便にたとえるなら、「お近くの営業所」です。

このような場合、サーバー機A~Dにとっての「デフォルトのゲートウェイ」は、ルーター機(192.168.0.1)になります。
/etc/sysconfig/network というファイルに、以下の記述を追加します。

このような場合、サーバー機A~Dにとっての「デフォルトのゲートウェイ」は、ルーター機(192.168.0.1)になります。
GATEWAY=192.168.0.1 |
ルーター機の場合のデフォルトのゲートウェイは、上位回線のルーターになります。
1)PPPoE接続の場合
プロバイダとPPPoEで接続する場合、デフォルトのゲートウェイはプロバイダと接続した後に決定します。この場合、pr-pppoeというソフトが自動的にデフォルトのゲートウェイを設定してくれます。なので、/etc/sysconfig/network内のGATEWAY=の後には何も記述しないでおきます。
2)直接接続の場合
PPPoEではなく、データーセンター内にあるサーバー群などで、ラック内のゲートウェイを上位のルーターに直接繋ぐ場合は、/etc/sysconfig/network内のGATEWAY=の後上位のルーターのアドレスを記述してください。
1)PPPoE接続の場合
プロバイダとPPPoEで接続する場合、デフォルトのゲートウェイはプロバイダと接続した後に決定します。この場合、pr-pppoeというソフトが自動的にデフォルトのゲートウェイを設定してくれます。なので、/etc/sysconfig/network内のGATEWAY=の後には何も記述しないでおきます。
2)直接接続の場合
PPPoEではなく、データーセンター内にあるサーバー群などで、ラック内のゲートウェイを上位のルーターに直接繋ぐ場合は、/etc/sysconfig/network内のGATEWAY=の後上位のルーターのアドレスを記述してください。
ルーティングテーブルの設定
先に説明したとおり、ルーティングテーブルとは、どこのネットワーク宛のパケットは、どこに送るべきかを記述するものです。

この図には、赤で囲んだネットワーク(192.168.0.0)と青で囲んだネットワーク(192.168.1.0)があります。赤で囲んだネットワークは、外部に直接つながっているルーターAの直下にあり、ここには通常サーバーを配置します。これをDMZと呼びます。
青で囲んだネットワークは、外部とつながっているルーターの下にさらにルーターがあって、その下にあります。ここには通常Windows端末などの、実際に人間が操作するPCや、社内用のストレージサーバー、社内用グループウェアなどの用途で使うための内部用WEBサーバーなどを配置します。
ルーターBには、IPアドレスが2つついています。なぜでしょう?それはネットワークカード(NIC)が2枚入っているからです。このように、パソコンをルーターをして使うためには、ネットワークカードを2枚(かそれ以上)さして、それぞれに異なるネットワークアドレスをつける必要があります。これによって、ルーターBは、青いネットワークから来たパケットを、赤いネットワーク(上位のネットワーク)へ渡すことができます。
ここで、各端末(もしくはサーバー)機である、192.168.1.2~192.168.1.4のマシンのデフォルトのゲートウェイは、先に説明したとおり、192.168.1.1となります。つまり、宅急便にたとえると、「お近くの営業所」となるわけです。また、ルーターBから見た場合、デフォルトのゲートウェイは192.168.0.1となります。宅急便にたとえると、上位の営業所といった所でしょうか。
しかし、この状態では赤いネットワークから青いネットワーク宛のパケットが通りません。つまり、Windows端末からDMZにあるサーバーにアクセスしてもレスポンスが帰ってこないという事です。これは、ルーターAが、ルーターB以下にある青いネットワークの存在を知らないからです。
そこで、赤いネットワーク内から青いネットワーク内へのパケットを通すために、DMZ内のサーバーからのパケットを、ルーターAからルーターBに中継してもらいます。
route -add net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.2 eth1
このコマンドを/etc/rc.d/rc.localに書いておけば、サーバー起動時にも再現されます。rc.localに書くのはスマートじゃないとお考えの方は、/etc/sysconfig/network-scripts/route-eth1という設定ファイルに以下の記述をしておきます。

この図には、赤で囲んだネットワーク(192.168.0.0)と青で囲んだネットワーク(192.168.1.0)があります。赤で囲んだネットワークは、外部に直接つながっているルーターAの直下にあり、ここには通常サーバーを配置します。これをDMZと呼びます。
青で囲んだネットワークは、外部とつながっているルーターの下にさらにルーターがあって、その下にあります。ここには通常Windows端末などの、実際に人間が操作するPCや、社内用のストレージサーバー、社内用グループウェアなどの用途で使うための内部用WEBサーバーなどを配置します。
ルーターBには、IPアドレスが2つついています。なぜでしょう?それはネットワークカード(NIC)が2枚入っているからです。このように、パソコンをルーターをして使うためには、ネットワークカードを2枚(かそれ以上)さして、それぞれに異なるネットワークアドレスをつける必要があります。これによって、ルーターBは、青いネットワークから来たパケットを、赤いネットワーク(上位のネットワーク)へ渡すことができます。
ここで、各端末(もしくはサーバー)機である、192.168.1.2~192.168.1.4のマシンのデフォルトのゲートウェイは、先に説明したとおり、192.168.1.1となります。つまり、宅急便にたとえると、「お近くの営業所」となるわけです。また、ルーターBから見た場合、デフォルトのゲートウェイは192.168.0.1となります。宅急便にたとえると、上位の営業所といった所でしょうか。
しかし、この状態では赤いネットワークから青いネットワーク宛のパケットが通りません。つまり、Windows端末からDMZにあるサーバーにアクセスしてもレスポンスが帰ってこないという事です。これは、ルーターAが、ルーターB以下にある青いネットワークの存在を知らないからです。
そこで、赤いネットワーク内から青いネットワーク内へのパケットを通すために、DMZ内のサーバーからのパケットを、ルーターAからルーターBに中継してもらいます。
route -add net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.2 eth1
このコマンドを/etc/rc.d/rc.localに書いておけば、サーバー起動時にも再現されます。rc.localに書くのはスマートじゃないとお考えの方は、/etc/sysconfig/network-scripts/route-eth1という設定ファイルに以下の記述をしておきます。
ADDRESS0=192.168.1.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.0.2 |
こうする事で、ルーターAに、青いネットワークへのパケットは192.168.0.2へ送る事が設定されます。
eth1は、192.168.0.X につながっているネットワークカードですので、設定に応じて読み替えてください。
フォワーディングの設定
前述の設定をしただけでは、ルーターBは赤いネットワークから青いネットワークへ、また青いネットワークから赤いネットワークへパケットを通してくれません。なぜなら、デフォルトではNICからNICへのパケットの転送(フォワーディング)を禁止しているからです。なので、ここでフォワーディングを許可に設定します。
/etc/sysctl.conf
net.ipv4.ip_forward = 1 |
と記述します。デフォルトでは=0になっているので、1に変更します。
ここを変更したら、ネットワークをリスタートします。
/etc/rc.d/init.d/network restart
これで、フォワード機能が有効になり、NIC間のパケット転送を行うようになります。
ここを変更したら、ネットワークをリスタートします。
/etc/rc.d/init.d/network restart
これで、フォワード機能が有効になり、NIC間のパケット転送を行うようになります。

広告