NAT とポートフォワード
Pro会員限定上級約39分6レッスン
外部の監視サービスに、このサーバーの 8443 番から web01 の管理画面を見せる——ポートフォワードを一から組み立てます。nat テーブルの DNAT で宛先を書き換え、ip_forward と FORWARD で転送を許し、conntrack のタプルから「返事が戻ってこない」理由を読み、MASQUERADE で戻り道を作って、再起動後も残るように保存します。
対象者: iptables の nat テーブルやポートフォワードを設計・調査したい方 / Docker や Kubernetes の通信の仕組みを理解したい方
前提知識: リバースプロキシとロードバランサ配下の障害 修了程度(Linux 上級「iptables で通信を設計する」の filter テーブルの操作を前提にします)
この教材を終えると、できるようになること
- iptables の nat テーブル(PREROUTING / POSTROUTING)の役割とパケットの通り道を説明し、既存の DNAT ルールと ip_forward の状態を読み取れるようになる。
- PREROUTING に DNAT ルールを追加し、tcpdump で書き換え後のパケットが送り出されていないことを確かめて、ip_forward が必要な理由を説明できるようになる。
- ip_forward と FORWARD チェーンで転送を許可し、conntrack の往路・復路のタプルを読んで、非対称経路で返事が戻らない理由を説明できるようになる。
- POSTROUTING に MASQUERADE を追加して送信元を書き換え、conntrack が ESTABLISHED [ASSURED] になることを確かめ、往路・復路でどこが書き換わるかを説明できるようになる。
- iptables-save で nat と filter の両方のルールを /etc/iptables/rules.v4 に保存し、ip_forward を /etc/sysctl.d に書いて永続化できるようになる。
修了後の姿: プロトコルの中身とネットワーク設計を理解し、複雑な障害の根本原因の特定から再発防止の設計まで任せられるエンジニアへ。
Chapter 1ポートフォワードを組み立てる
宛先の書き換え・転送の許可・送信元の書き換え・保存を1段ずつ積み上げ、conntrack で確かめます。
Chapter 2確認クイズ
DNAT・MASQUERADE・ip_forward・conntrack の理解度をチェックします。