ルータ設定
自宅サーバへの道
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 は 0 | 1 | 255 以外" |
サブネットマスク | 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 等で接続の確認を行います。
現在の環境は図にすると以下のようになります。