ホームページ >運用・保守 >Linuxの運用と保守 >Linux でのソフトウェア ファイアウォール iptables - nat テーブル ルールの設定

Linux でのソフトウェア ファイアウォール iptables - nat テーブル ルールの設定

齐天大圣
齐天大圣オリジナル
2020-11-18 15:25:082483ブラウズ

最も一般的に使用されるフィルター テーブルに加えて、iptables は nat テーブルも使用することがあります。 NAT はネットワーク アドレス変換であり、送信元 IP アドレスまたは宛先 IP アドレスを変更するために使用されます。次に、iptables を介してバックエンド ホストに渡される単純なデータ パケットのテーブルとチェーン プロセスを見てみましょう。

1. NAT テーブルの PREROUTING チェーンを通過します

2. データ パケットがルーティングを通じてマシンに入るかどうかを判断します。そうでない場合は、次のステップを実行します

3 .フィルターの FORWARD チェーンの後

##4.NAT テーブルの POSTROUTING チェーンの後、最終的に送信されます

NAT に関連する最初と最後のステップは PREROUTING チェーンですそして POSTROUTING チェーン。

    #PREROUTING チェーンは、DNAT
  • と呼ばれる宛先 IP を変更します。POSTROUTING チェーンは、SNAT
  • # と呼ばれる送信元 IP を変更します。

##DNAT

では、どのようなシナリオで DNAT の使用が必要になるのでしょうか?また、SNAT の一般的な用途は何でしょうか? DNAT の場合、最も一般的なのは、他のユーザーがアクセスできるように内部ネットワーク ポートを外部ネットワークにマップすることです。このようにして、外部ネットワークから内部ネットワークにデータを直接送信できないため、内部ネットワークのセキュリティが大幅に向上します。

シナリオ: イントラネット上に Web サイトがセットアップされたホスト A (192.168.1.111) があり、イントラネット内にはパブリック IP (39.100) を持つホスト B (192.168.1.2) もあります。 .92.12). それで何が? 外部ネットワーク上のユーザーが上記 A の Web サイトにアクセスできるようにします。

現時点では、ホスト B で DNAT 操作を実行して、宛先アドレスをパブリック ネットワーク ip39.100.92.12 から内部ネットワーク アドレス 192.168.1.111 に変更する必要があります。操作は次のとおりです。

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
> -j DNAT --to-destination 192.168.1.111:80

IP の変更に加えて、PREROUTING チェーン内のポートも変更できます。たとえば、ポート 80 はポート 8080 にマップされますが、操作名は DNAT ではなく REDIRECT になります。

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
> -j REDIRECT --to-ports 8080

SNAT

SNAT の最も一般的なアプリケーションは、イントラネット マシンがプロキシ サーバー経由でインターネットにアクセスし、イントラネット ホストがプロキシ サーバー経由でインターネットにアクセスすることです。パブリック ネットワーク IP を持っている場合、内部ネットワーク ホスト データ パケットがプロキシ サーバーを通過した後、プロキシ サーバーはデータ パケットのソース アドレスをプロキシ サーバーのパブリック ネットワーク IP に変更する必要があります。

シナリオ: イントラネットにはホスト A (192.168.1.111) があり、イントラネットにはパブリック IP (39.100.92.12) を持つホスト B (192.168.1.2) があります。ホスト A を操作しますか? パブリック ネットワークに接続します。

# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 \
> -j SNAT --to-source 39.100.92.12

DNAT と SNAT の操作はそれほど複雑ではありません。主なことは、DNAT と SNAT の応用シナリオを理解することです。初めて学習するときは混乱しやすいです。皆さんがそれらの違いを理解できることを願っています。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinux でのソフトウェア ファイアウォール iptables - nat テーブル ルールの設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。