
第3回 natテーブルを利用したLinuxルータの作成
| この連載では、初心者にとってハードルの高いiptablesの設定を、テンプレートを用いながら紹介していきます。「習うより慣れよ!」の精神でまず試してみてはいかがでしょう。(編集部) |
鶴長 鎮一
2010/2/9
はじめに
今回は、iptablesのnatテーブル(関連記事)を使ったNATおよびNAPT機能を解説します。こうした機能を使えばパケットのIPアドレス情報を書き換えることができます。つまりiptablesを駆使すれば、市販されているブロードバンドルータと同等、またはそれ以上のルータを作り上げることができるのです。
| 関連リンク: | |
| Linuxで作るファイアウォール[パケットフィルタリング設定編] http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html |
|
| 連載記事 「習うより慣れろ! iptablesテンプレート集」 http://www.atmarkit.co.jp/flinux/index/indexfiles/iptablesindex.html |
|
| 連載記事 「習うより慣れろ! iptablesテンプレート集 改訂版」 http://www.atmarkit.co.jp/flinux/index/indexfiles/newiptablesindex.html |
|
natテーブルによるNATの実現
NAT(Network Address Translation)は、パケット中のIPアドレスを書き換える技術です。ソース側を書き換える場合を「SNAT」、ディスティネーション側を書き換える場合を「DNAT」と呼びます。
なお「1つのグローバルアドレスを複数のプライベートアドレスで同時に共有する」こともNATと呼ぶことがありますが、これは正確には、IPマスカレードまたはNAPT(Network Address Port Translation)のことを指しています。これらの技術では、単なるIPアドレスの書き換えだけでなく、TCPやUDPのポート番号も変換してプライベートアドレスを同時に使えるようにしています。
iptablesは、目的に応じてテーブルを切り替えるようになっています。前2回は「filterテーブル」を使ってパケットフィルタリングを実施しました。これに対しNATやNAPTを実施するには「natテーブル」を使用します。
前回までに紹介したテンプレートでは、iptablesで取り立ててテーブルを指定することはしませんでした。テーブル指定を省略すると「filterテーブル」がデフォルトで使用されます。
filterテーブルでは、どのタイミングで処理を施すかを指定するために、INPUT/OUTPUT/FORWARDといったチェインを使いました。natテーブルでは、POSTROUTING/PREROUTING/OUTPUTという3つのチェインを使います。
![]() |
| 図1 filter+natテーブルの構造 |
| ・POSTROUTINGチェイン | |
| ソースアドレスの書き換え/SNAT(今回のテンプレートで使用) | |
| ・PREROUTINGチェイン | |
| ディスティネーションアドレスの書き換え/DNAT(次回のテンプレートで使用) | |
| ・OUTPUTチェイン | |
| ローカルで生成されたパケットのディスティネーションアドレスの書き換え/DNAT | |
| 第2回へ | 1/3 |
|
||||||
|
||||||
| 連載 習うより慣れろ! iptablesテンプレート集 |
| Linux Squareフォーラム セキュリティ関連記事 |
| 連載:習うより慣れろ! iptablesテンプレート集(全4回) 初心者にとって、iptablesは難しい。そこで、学習の第1歩としてテンプレートを自分の環境に適応させることから始めよう |
|
| 連載:ゼロから始めるLinuxセキュリティ(全11回) 奥が深いセキュリティ対策の世界をゼロから解説。ホストレベルのセキュリティからファイアウォール、IDSの構築、ログ管理方法まで、システム管理者必見 |
|
| 特集:WebDAV時代のセキュリティ対策[前編] WebDAVのメソッドは便利な反面、セキュリティホールとなり得る。しかし、適切な対策を講じることでメソッドの危険性は取り除くことができる |
|
| 特集:FreeS/WANによるIPSecの導入と運用[前編] LinuxでIPSecを利用するには、「FreeS/WAN」というIPSecスタックを用いることになる。まず、これをインストールすることから始めよう |
|
| 特集:Linux以外のIPSecスタックとの相互接続[前編] 別のOSや異なるIPSecスタックとの相互接続が可能なら、その用途は大幅に広がる。前編では、FreeBSDのKAMEと相互接続を試みる |
|
| 特集:sshでセキュアネットワーク サーバにリモートログインする場合は、暗号化して転送するsshを使おう。sshをサーバとクライアントにインストールすれば、インターネット上でも安全な通信が可能になる |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

