CentOS 5.5 で静的ルーティングを設定する : Linux の使い方


ルーティングテーブルを設定する

ルーティングテーブルにルーティング情報を設定することで、任意の宛先のパケットを任意のインターフェイスへ投げる、いわゆる静的ルーティングを行うことができるようになります。

CentOS 5.5 では、設定ファイルを用意することで、簡単にこの設定を行うことができるようになっていました。

Linux で一般的な "route add" による設定も可能ですが、せっかく CentOS なので、CentOS の流儀に合わせて設定を行ってみようと思います。

 

 

たとえば "192.168.5.0/255.255.255.0" 宛のパケットは "eth1" に設定されているネットワーク "192.168.1.0/255.255.255.0" 上のルーター "192.168.1.1" へ転送したい場合には、次のような感じになります。

まず、設定ファイルは "/etc/sysconfig/network-scripts" ディレクトリーに用意します。ファイル名は、"route-" に続けてインターフェイス名を使用します。

今回の場合は "/etc/sysconfig/network-scripts/route-eth1" が設定ファイルになります。

 

このファイルを作成して、内容として以下のように記載します。

192.168.5.0/24 via 192.168.1.1

このようにすることで、"192.168.5.0/255.255.255.0" 宛のパケットが "eth1" 上の "192.168.1.1" へ転送されるようになります。ネットマスクはビット長で指定する必要があるようですので、"255.255.255.0" は "24" となります。

上記では "via" を使ってゲートウェイを指定していますが、ここで "dev" を指定することで、インターフェイスを指定することもできるようになっています。

たとえば "192.168.10.0/255.255.255.0" 宛のパケットを "eth1" へ転送したい場合には、次のような感じになります。

192.168.10.0/24 dev eth1

複数のルーティング設定を行いたい場合には、1 行ごとにルーティング設定を記載すれば大丈夫です。

 

設定が終わったら、次のようにしてネットワークを再起動すれば、設定したルーティング情報がルーティングテーブルに記載されます。

service network restart

ルーティングテーブルの内容を確認したい場合には "route -n" コマンドを実行します。

ちなみに、上記のルーティングを一般的な方法で設定する場合には "route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.1.1 metric 1 dev eth1" というようなコマンドを実行することになると思います。