ルータ設定

最終更新日時:2008-04-09 18:41:04
自宅サーバへの道

Linux マシンからインターネット接続ができるようになりましたが、このままではインターネット接続できるのは Linux マシンだけで、他のマシンからはインターネット接続ができません。
たいていの場合、サーバ用途のマシンは Linux だとしても通常使うメインとなるマシンは Windows だったりすることが多いと思いますし、実際その方が便利です。
従って、この自宅サーバをルータ(ゲートウェイ)として利用できるよう設定します。

ちなみに、通常の個人使用の環境ではゲートウェイはいわゆるブロードバンドルータが担い、ルーティング等の設定もブロードバンドルータにて行うのが普通です。
が、Linux サーバをルータとすることにより、ブロードバンドルータよりもきめ細かな設定が可能となります。
反面、ブロードバンドルータの方が設定は簡単ですし、それ専用の機器ですからパフォーマンスも期待できます。

LAN側の設定

Linux サーバをゲートウェイとするには NIC が最低2枚必要です。
現在差してある NIC は ADSL 接続用に使っているので、もう1枚ローカルネット(自宅内 LAN )用の NIC を用意する必要があります。
NIC を2枚差しにしたら、新たに差した NIC は eth1 として認識されるので、netconfig 等で設定をします。
netconfig 等のユーティリティが使えない場合には、手動で /etc/sysconfig/network-script 以下のファイルを設定します。
LAN 側のネットワークを 192.168.0.0/24 にした場合、以下のような感じの設定となります。

 DEVICE="eth1"
 BROADCAST=192.168.0.255
 IPADDR="192.168.0.1"        # このマシンの LAN 側の IP アドレス
 NETMASK="255.255.255.0"
 NETWORK=192.168.0.0


ここまで設定できたら LAN として機能するはずなので、LAN 側の HUB と eth1 の NIC とをイーサネットで繋ぎ、ネットワーク設定を有効にします。

 # /etc/init.d/network restart


システムが起動したら LAN 内のクライアントマシンからゲートウェイに接続してみます。例えば ping 192.168.0.1 とか。
繋がれば第一段階終了。
ちなみに、クライアントマシンの方の設定は以下のような感じです。

項目設定値
ゲートウェイ192.168.0.1
IP アドレス"192.168.0.xxx ※ xxx は 01255 以外"
サブネットマスク255.255.255.0
DNS サーバ/etc/resolv.conf と同じ設定


IPマスカレード


次に、以下のように IP マスカレードの設定をします。
IP マスカレードとは何か、なぜ IP マスカレードをする必要があるのか等の説明は面倒なので省きます(/o\)
が、簡単に言えば、クライアントマシンがインターネットへ接続するための設定です。

 # iptables -t nat -A POSTROUTING -j MASQUERADE 


もし、iptables ではなくipchainsを使用する場合には以下のようになります。

 # /sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ 


kernel-2.4 系以降ではデフォルトは iptables なので、iptables で設定した方が好ましいです。
ipchains, iptables のどちらを使用するかは kernel 構築時に決定されますので、使用できない場合には kernel 再構築が必要(この段階なら再インストールした方が早い?)となることがあります。
いずれにしても、システム起動時に有効にならないと困るので、上記が自動的に実行されるように /etc/rc.local あたりに設定しておきます。

これでクライアントマシンからのインターネット接続も可能になるはずなので、ping 等で接続の確認を行います。
現在の環境は図にすると以下のようになります。

お問い合わせは 掲示板 にて。