iptables
![]() |
iptablesは、Linuxに
Linuxのバージョンとパケットフィルタ
[![](https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Netfilter-packet-flow.svg/500px-Netfilter-packet-flow.svg.png)
Linuxカーネル2.4
Linuxカーネル2.2
iptablesの構成
[iptablesでは、フィルタリングする
- filterテーブルはパケットの
出入 り自体 を制御 できる - natテーブルはパケットの
中身 を書 き換 えることを制御 できる、主 にネットワークアドレス変換 やIPマスカレード(LinuxのNAPT実装 )向 けに用 いられる。
filterテーブルでは、
- パケットが
入 る際 に利用 するINPUTチェイン - パケットが
出 ていく際 に利用 するOUTPUTチェイン - インターフェース
間 をまたぐ際 に利用 するFORWARDチェイン
natテーブルでは、
- PREROUTINGチェイン
- POSTROUTINGチェイン
チェインの編集
[iptablesは
パケットフィルタリングの例
[チェインを
iptables -t filter -I INPUT -p tcp -s 123.123.123.123 --dport 80 -j DROP
- -t filter でfilterテーブルを
操作 - -I INPUT でINPUTチェインに
追加 (-Iでチェイン内 ルールの先頭 に、-Aで末尾 に) - -p tcp でTCPプロトコル
限定 - -s 123.123.123.123 で
送信 元 IPアドレスを指定 、 - --dport 80 で 80
番 ポート(80/tcp = http)を指定 上記 ルールにマッチしたパケットを-j DROPで破棄
まとめるとfilterテーブルのINPUTチェインの
ネットワークアドレス変換 の例
[iptables --table nat --append PREROUTING --protocol tcp --destination-port 80 \ --jump DNAT --to-destination 192.168.0.10:8080
関連 項目
[外部 リンク
[- Man page of iptables (JM Projectによる
日本語 訳 ) - Man page of ip6tables
- Man page of iptables-extensions
- Iptablesチュートリアル