2012年10月1日月曜日

iptables を使ったポートフォワーディング メモ

すぐ忘れるiptablesメモ。

この手順で 内部 → 外部 のNATができる。しかし逆の外部 → 内部 へのアクセスはできない。

例えば以下みたいな構成で、外側から内側の4040で起動しているプロセスにアクセスしたい時。
      External
          |10.0.0.254
      +---+---+
      |  sv1  |
      |       |
      +---+---+
          |192.168.128.254
          |
          | Internal
  --------+---------+--
                    |
                    |192.168.128.10
                +---+---+
                | 4040  |
                |       |
                +-------+

まずsv1の4040ポートへのアクセスを内部の192.168.128.10:4040へポートフォワーディングさせる
sv1# iptables -t nat -I PREROUTING 1 -p tcp --dport 4040 -j DNAT --to-destination 192.168.128.10:4040

これだけではルーティング(フォワーディング)がブロックされるので、192.168.128.10:4040へのフォワードを許可してやる。
sv1# iptables -I FORWARD 1 -p tcp -d 192.168.128.10 --dport 4040 -j ACCEPT

確立済みのセッションに対するフォワーディングを許可する(戻りパケット用)
sv1# iptables -I FORWARD 2 -m state --state ESTABLISHED,RELATED -j ACCEPT

上手く行ったら設定を保存しておく。
sv1# /etc/init.d/iptables save

0 件のコメント:

コメントを投稿