出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/29 08:42 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2021年9月)
|
| |
|
| 作者 | ラスティ・ラッセル |
|---|---|
| 開発元 | Netfilter Core Team |
| 初版 | 2001 |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 |
C言語 |
| 対応OS | Linux |
| プラットフォーム | Netfilter |
| 種別 | パケットフィルタリング |
| ライセンス | GPL |
| 公式サイト | www |
iptablesは、Linuxに実装されたパケットフィルタリングおよびネットワークアドレス変換 (NAT) 機能であるNetfilter(複数のNetfilterモジュールとして実装されている)の設定を操作するコマンドのこと。Netfilterは、いわゆるファイアウォールやルータとしての役割を果たす。IPv4 用の実装が iptables で、IPv6 用の実装が ip6tables である。
Linuxカーネル2.4以降では、Netfilterというパケット処理のためのフレームワークをもっており、これの設定を操作するツールがiptablesである。
Linuxカーネル2.2系列以前ではipchainsまたはipfwadmといった実装が使われていた。netfilterとiptablesはこれらを完全に置き換えるものである。
iptablesでは、フィルタリングする対象を選ぶ「テーブル」と、各テーブルにおいて、どのタイミングで処理するかを示す「チェイン」で構成されている。
filterテーブルでは、初期状態で次のチェインが用意されている。
natテーブルでは、主にパケットを書換えるタイミングに影響する次のチェインが用意されている。これらのチェインは管理者であれば自由に追加、削除が可能となっている。
iptablesは各テーブル内のチェインを書換えることにより、パケットフィルタリングができる。
チェインを編集するには例えば、次のようにiptablesコマンドを用いる。
iptables -t filter -I INPUT -p tcp -s 123.123.123.123 --dport 80 -j DROP
まとめるとfilterテーブルのINPUTチェインの先頭に以下のルールを追加:IP 123.123.123.123から80/tcp(http)に入ろうとしているパケットは送信元(123.123.123.123)に通知することなく破棄(DROP)ということになる。
下記の例で、例えば、LAN内に 192.168.0.10:8080 で公開しているウェブサーバーがあり、それを 80 番ポートで公開することが出来る。
iptables --table nat --append PREROUTING --protocol tcp --destination-port 80 \ --jump DNAT --to-destination 192.168.0.10:8080
固有名詞の分類