eth1 に接続された ローカル クライアント 192.168.1.0/24 をインターネットへ接続できるように、iptables に新しい natテーブル PREROUTINGチェーンを追加します。ここでは、ADSL回線のように動的に割当てられるルーター(PPPoE) のケースと異なり、eth1(192.168.1.56) の 静的 IPアドレスをマッピング が目的なので、送信元のアドレス変換を行う事になります。
以下の iptables コマンドを実行します。nat テーブルを指定する必要があるので注意して下さい。
これで eth1 → eth0 への送信元のアドレスは、eth0 に割当てられた 192.168.0.56 に変換され、eth0(192.168.0.56) のゲートウェイである ルーター(192.168.0.1) へ通り抜けるようになります。 IPマスカレード であるため、192.168.1.0/24 からの同時接続が行えます。
iptables 起動時に変更が有効になるように、以下のコマンドで /etc/sysconfig/iptables に書き出します。
現在適用されているパケットフィルタリングを調べるには以下のコマンドを使用します。
■使用したテーブル ~利用できるテーブルは以下の三種類
※ 詳細は man iptables を参照してください。
利用できる組込みチェーン | |
filter | INPUT / FORWARD / OUTPUT テーブルを指定しなかった場合、filter テーブルにルールが追加されます。 |
nat | PREROUTING / OUTPUT / POSTROUTING IPアドレスを変換する時に使用するテーブルで、IPマスカレード等の設定を行うときに利用します。 |
---|---|
mangle | PREROUTING / OUTPUT 特定のパケットを変換する場合に利用するテーブル。 |
■使用したチェーン
※ 詳細は man iptables を参照してください。
※ その他、ルール、コマンド、パラメータ等は man iptabales を参照して下さい。
INPUT | 受信パケット |
OUTPUT | 送信パケット |
FORWARD | 転送パケット |
PREROUTING | 受信時にIPアドレスを変換するチェイン |
POSTROUTING | 送信時にIPアドレスを変換するチェイン |
---|
再度、/etc/sysconfig/iptables を開いて確認すると natテーブルが1 ~ 8 行目に新たに追加されていることが確認できます。
この一連の作業では、eth1(192.168.1.56) からの接続は、eth0(192.168.0.56) へマッピングを行う事でルーターからはeth0(192.168.0.56) が接続しているのと同じ状態を作り出しています。逆に、eth0 からは eth1 へ対しては異なるセグメントであるため接続する事が出来ません。
iptablesコマンドで追加したので再起動の必要はなく、反映されているはずです。それぞれのセグメントから実際にPING コマンドを使って通信状態を確認します。
iptablesコマンドで追加したので再起動の必要はなく、反映されているはずです。それぞれのセグメントから実際にPING コマンドを使って通信状態を確認します。
ぞれぞれのネットワークからPINGを打って通信状態を確認します。
一般家庭向けのルーターによっては、ルーターから ping を実行できる製品もあります。それぞれのセグメントからPING、ポートスキャンをかけるなりして、確認してください。 もし、PINGが通るのであれば、大問題です。
ローカルホスト(192.168.1.34) から ルーター(192.168.0.1)へ向けて ping を打ってみます。iptables で正しくフォワーディングされれば、ping が通るはずです。
このように ping が通れば、192.168.1.0/255.255.255.0 セグメントからは自由にインターネットが行える事が確認できます。
注意!!
ここでは、分かりやすくするために、 「セキュリティレベル」 GUI を利用しましたが、もう二度とこの 「セキュリティーレベル」 は開かないで下さい。もし、開いて保存してしまうと、折角作成したフィルター内容が、元にもどってしまいます。
これのこと↓
これらの事からも、慣れてくれば 「シェルスクリプトによるiptablesコマンドを実行する」 で管理しコマンド操作で制御する方がよいかと思います。
また、ここで行った外部ファイルの設定と併用することも出来ます。この場合、メモリに適用される内容が先に評価される事になります。
ファイアーウォールについては、ここでは詳しくは説明しませんが、次のページでは、取敢えず行っておいたほうが良い事と、ファイアーウォールは全能ではない理由について触れておきます。