<Homeへもどる>   <前に戻る>

ルータにするための基本設定。(ipchainsはまた別項)

「ルーターってなに?」
「ネットワークとネットワークを繋ぐものだよ」
 最近はこう説明するよりも
「複数のパソコンをインターネットに繋げるものだよ」
 と説明した方が納得してくれる(^^;  これもADSLの爆発的な普及のおかげか・・・?

 さてさて、このルーター、別に巷で販売されている「ブロードバンドルーター」じゃなくてもいい。
ほとんどの場合、家庭内LANとインターネットを接続できれば何でも構わない。
つまり、LinuxPCをルーターにしてしまってもなんの問題もないわけだ!
ま、普通は「ブロードバンドルーター」を買ってきましょう。

 で、LinuxPCをルーターとする場合、前提として2枚以上のNICが利用できないとだめ。
昔はこれにいろいろ手間取ったりもしたもんだが、現在のLinuxディストリビューションでは
まず問題なく認識され、利用できるようになると思う。
もちろん設定はしっかりと。(/etc/sysconfig/network-scripts/ にある ifcfg-eth0 と ifcfg-eth1)

ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes
 
ifcfg-eth1
DEVICE=eth1
IPADDR=192.168.10.1
NETMASK=255.255.255.0
NETWORK=192.168.10.0
BROADCAST=192.168.10.255
ONBOOT=yes

 例えばこんな感じですかね。
そうそう、/etc/sysconfig/network も確認しよう。

network
NETWORKING=yes
HOSTNAME=”ホスト名”
DOMAINNAME=”ドメイン名”
FORWARD_IPV4=yes
GATEWAYDEV=eth1
GATEWAY=192.168.10.10

 ルーターの基本的な機能はパケットの配送処理、ルーティングだ。
その動作はルーティングテーブルに基づく。
ためしに
$route
と入力してみよう。

[root@db /root]# route
Kernel IP routing table
Destination   Gateway       Genmask         Flags Metric Ref Use Iface
192.168.0.1   *             255.255.255.255 UG    0      0   0   eth0
192.168.10.0  *             255.255.255.0   U     0      0   0   eth1
192.168.0.0   *             255.255.255.0   U     0      0   0   eth0
127.0.0.0     *             255.0.0.0       U     0      0   0   lo
default       192.168.10.10 0.0.0.0         UG    0      0   0   eth1

 こんな感じで表示されるのがルーティングテーブル。
ルーターはこの表に従ってパケットをどこに転送するかを判断している。

 ここで 192.168.0.0/255.255.255.0 つまり、192.168.0.1〜192.168.0.254 をネットワークA、
192.168.10.0/255.255.255.0(192.168.10.1〜192.168.10.254)をネットワークBとした場合。
 ネットワークAのあるホストから送られたパケットがルーターに到達すると、
ルーターはそのパケットの宛先IP(Destination)を見る。
それをルーティングテーブルと参照してどのゲートウェイに送るかを判断し、
Ifaceで設定されたインターフェースを通してパケットを転送する。
宛先IP(Destination)が192.168.10.50だとしたら、eth1からパケットを送り出すということ。
 ルーティングテーブルに設定されてない宛先のパケットが届いた場合はどうなるかというと、
通常デフォルトゲートウェイへと全て送られる。
ここでもし、192.168.10.10がADSLモデムだったりしたら、
それはつまり、家庭内LANとインターネットを接続しているということになる。

 あ、でも、実はこれだけじゃ「複数のPCでインターネット」と同意にはならないよ!
といのも、インターネット側にパケットを送ることは出来ても、
帰ってきたパケットをどこに戻せばいいかまで判断できないから。

 この問題を解決してくれるのがIPマスカレード。
これについては別の項目にて。(せっかちさんはこちらへどうぞ)

<Homeへもどる>   <前に戻る>