ほとんどの組織や企業は、ISPからのパブリックにルーティングできるIPアドレスの割り当て数が 限られています。数に制限があるため、管理者は、LAN上にあるすべてのノードに制限のある IPアドレスを与えずに、インターネットサービスへのアクセスを共有できる独創的な方法を 見つけねばなりません。プライベートIPアドレスの使用が一般的で、 LAN上のすべてのノードが正しく内部/外部のネットワークサービスにアクセスできるようにします。 エッジにあるルータ(ファイアウォールなど)はインターネットからの着信通信を受け取り、 パケットを目的のLANノードにルーティングします。同時に、 ファイアウォール/ゲートウェイはLANノードからの発信要求をリモートインターネットサービスに ルーティングします。 このネットワークトラフィックのフォワーディングは時に危険を伴うことになる恐れがあり、 特に、最近のクラッキングツールの機能を使用すると、内部IPアドレスに なりすましてLAN上にあるノードとしてリモート攻撃者のマシンを動作させることができます。 これを防止するために、iptablesはルーティングとフォワーディングの ポリシーを提供し、ネットワークリソースの異常な使用の防止を実現します。
FORWARDポリシーでは、 LAN内でパケットがルーティングされる場所を制限することができます。 例えば、LAN全体にフォワーディングを許可するには(ファイアウォール/ゲートウェイが 内部IPアドレスをeth1に持っていると仮定)、次のルールが設定できます。
iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -o eth1 -j ACCEPT |
![]() | 注記 | |||
---|---|---|---|---|
デフォルトでは、Red Hat Enterprise Linuxカーネル内のIPv4ポリシーがIPフォワーディングのサポートを 無効にしており、Red Hat Enterprise Linuxを稼動しているコンピュータが専用エッジルータとして 機能しないようにしています。IPフォワーディングを有効にするには、次のコマンドを実行します。
このコマンドをシェルプロンプトから実行する場合、再起動後にその設定は記憶されません。 /etc/sysctl.confファイルを編集して、フォワーディングを不変的に 設定します。次の行をさがして編集します。0には 1を入れます。
次のコマンドを実行してsysctl.confヘの変更を有効にします。
|
これにより、LANノードがお互いに通信できるようになりますが、 外部との通信は許可されていません(例、インターネット)。 プライベートIPアドレスを持つLANノードが外部の公開ネットワークと通信できるようにするには、 IP マスカレード用にファイアウォールを設定します。 これはLANノードからの要求をファイアウォールの外部デバイスでマスクします(この場合、eth0)。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |