よくできました。準備は完了です。ここからは魔法が始まります。IPマスカレードは、 Linuxが提供する本当に魔法のようなサービスの一つです。同様の機能を持つ商用製品が Windows用にありますが、効率の面では足元にも及びません。IPマスカレードなら、 骨董品とも言える386マシンで中規模オフィスのネットワーク全体にサービスを提供する ことができます。しかしWindows 95は386マシンで動作できませんし、まして マスカレードパッケージを追加することなど不可能です(最近 読んだ記事によると、 Windows 2000はアドオンソフトなしで共有接続に対応しています。共有接続用 ソフトウェアを売っていた企業はマイクロソフトに包囲されているようです。しかし、 386でWindows 2000を使うことはお勧めできません)。
Linuxのファイアーウォーリング機能はとても多様です。ここでは可能な範囲で、
もっとも単純かつもっとも手を加えない方法で使ってみます。専門家のやり方を
知りたければ、
Firewalling HOWTO(訳注:
和訳
あります)と
IPChains HOWTOを両方 読んでください。前者は理論を説明し、後者は、
新しいファイアーウォールのツールで、Linux2.2.Xカーネル(Red Hat6.X)に付属する、
ipchains
を解説します。また
IP Masquerading HOWTO(訳注:
和訳あります)
はマスカレードの小さな改良について詳細に解説しており、とても良い文書です。
いちど内部ネットワークと外部ネットワークの運用を始めてしまえば、単純な
マスカレードの設定は、とても、とても、簡単です。ファイル
/etc/rc.d/rc.local
を編集し、以下の行をファイルの最後に追加してください。
# 1) Flush the rule tables. /sbin/ipchains -F input /sbin/ipchains -F forward /sbin/ipchains -F output # 2) Set the MASQ timings and allow packets in for DHCP configuration. /sbin/ipchains -M -S 7200 10 60 /sbin/ipchains -A input -j ACCEPT -i eth0 -s 0/0 68 -d 0/0 67 -p udp # 3) Deny all forwarding packets except those from local network. # Masquerage those. /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ # 4) Load forwarding modules for special services. /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio
最後の2行はカーネルモジュールを追加し、FTPとRealAudioが内部ネットワークの コンピュータで利用できるようにします。もし必要ならば他にも、いくつかの特別な サービスについて以下のようなモジュールがあり、追加することができます。
/sbin/modprobe ip_masq_cuseeme
) /sbin/modprobe ip_masq_irc
) /sbin/modprobe ip_masq_quake
) /sbin/modprobe ip_masq_vdolive
) これでマスカレードを試すことができます。コマンド/etc/rc.d/rc.local
で
スクリプトrc.local
を走らせて、準備は完了です。他のコンピュータで
ウェッブサーフィンをしてみましょう。申し分なく動くはずです。