iptablesの設定


●どうでもいいからIPマスカレード機能を使いたい場合

RHL7.2はインストール段階ではipchainsを使用しています。設定はlokkitツールでウィザード形式で行えてとても便利なのですが今後iptablesになっていくそうなのでこちらを使います。

・カーネルの最構築時

カーネルのコンフィグレーション時にnetfilterとNATの両方を使用するように設定するとiptablesが使用可能になります。ここでiptablesはipchainやipfwadmとは排他的に選択できます。

・iptablesコマンドセットについて

コマンド/sbin/iptablesにより各種設定を行います。しかし電源を切ると設定がなくなりますので、/sbin/iptables-saveで現状の設定状況をファイルに書き込んでおき、起動時にiptables-restoreコマンドでそのファイルを使用して復帰させます。RHL7.2ではsave,restoreするスクリプトが/etc/init.d/iptablesにありますので今回はそれを使用します。

・RHL7.2による設定

iptablesの始動は/etc/init.d/iptablesにより行います。設定ファイルは/etc/sysconfig/iptablesになります。/etc/init.d/iptables saveで現状の設定状況を保存します。起動時には自動で復帰します。

・とにかくipマスカレードを使いたいときの設定コマンド

ネットワークカード2枚刺しでeth0がローカル、eth1がワールド側とします。両方のカードのip等を設定しておきます。

まずipchainsのすべてのエントリを消します。

/etc/init.d/iptables stop

この状態でルールを追加します。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

もしダイヤルアップなら-o pppです。再起動後にも復帰できるように

/etc/init.d/iptables save

で設定を保存します。しかし、この状態ではカーネルのフォワードするスイッチが入っていませんのでシステム起動後onにするために、起動後に実行されるスクリプトファイル/etc/rc.d/rc.localに

echo 1 > /proc/sys/net/ipv4/ip_forward

を追加します。上記コマンドは直接実行してもいいです。とりあえずこれでipの共有が可能となります。クライアントがわはゲートウェイをLinuxBoxにします。


●iptablesの仕組み