iptablesはファイアウォールとパケット転送ができる

iptablesでポート転送の設定をして」と言われました。

AWSのCentOS6に「他のインスタンスに転送できるようにiptablesの設定をして」と言われました。
何?iptablesって?

iptablesは、Linuxに搭載されていてパケットのルールを設定できます。

http://smilejapan.net/wiki/index.php?plugin=ref&page=iptables%E3%81%A8%E3%81%AF%EF%BC%9F&src=iptables-1.gif
iptablesとは? - SMILE JAPAN WIKI

CentOS7からファイアウォールは、iptablesからfirewalldへと変更されました。

qiita.com

設定はコマンドと設定ファイルを書く方法があります。

コマンドで設定する時

iptables [-t テーブル] [コマンド] [チェイン] [条件] [ターゲット]

設定ファイルを書いて設定する時
設定ファイルの場所 : /etc/sysconfig/iptables

$ sudo cat /etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 54321 -j DNAT --to-destination 10.0.1.1:1521
-A PREROUTING -p tcp -m tcp --dport 54322 -j DNAT --to-destination 10.0.1.2:80
-A POSTROUTING --dst 10.0.1.1 -p tcp -m tcp --dport 1521 -j SNAT --to-source 10.0.1.3
-A POSTROUTING --dst 10.0.1.2 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.0.1.3
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

受信したパケットはChainというルートを通って処理されます。

https://eng-entrance.com/wp-content/uploads/2016/07/chain.png
【丁寧解説】Linuxファイアウォール iptablesの使い方

https://oxynotes.com/wp-content/uploads/iptables01.png
コピペから脱出!iptablesの仕組みを理解して環境に合わせた設定をしよう | OXY NOTES

https://cacoo.com/diagrams/zWJRlTb4nFY0UoYy-B6C43.png
iptablesの設定 入門編 - Murayama blog.

Chainの種類
名前 設定できるテーブル 説明
INPUT filter, magnle 入ってくるパケットについてのチェイン
OUTPUT filter, nat, magnle 出てゆくパケットについてのチェイン
FORWARD filter パケットを転送についてのチェイン
PREROUTING nat, magnle 受信時にアドレスを変換するチェイン
POSTROUTING nat 送信時にアドレスを変換するチェイン

iptablesは、ポートフォワードとして使用するパケット転送機能もあります。

natテーブルに設定します。

ponsuke-tarou.hatenablog.com

設定ファイルでは「*nat」に書きます。

*nat
ここに設定を書く
COMMIT