【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

習うより慣れろ! iptablesテンプレート集

第2回 natテーブルを利用したLinuxルータの作成

iptablesのNAT機能を利用すれば、Linuxをルータにできる。さらに、NATの応用例として透過型プロキシを構築してみる。(編集部)

鶴長 鎮一
2005/5/17

 PCはネットワークインターフェイスの増設が容易なため、市販のブロードバンドルータの代わりにPC+Linuxをルータにするケースもあります。そこで、Linuxホストをルータとして使用する際に必要な設定を紹介します。ブロードバンドルータの重要な機能であるNATをLinuxで実現するのもiptablesの機能の1つです。

natテーブルによるNATの実現

 NAT(Network Address Translation)は、パケット中のIPアドレスを書き換える技術です。ソース側を書き換える場合を「SNAT」、ディスティネーション側を書き換える場合を「DNAT」と呼びます。「1つのグローバルアドレスを複数のプライベートアドレスで同時に共有する」こともNATと呼ぶことがありますが、これはIPマスカレードまたはNAPT(Network Address Port Translation)のことです。これらの技術では、単なるIPアドレスの書き換えだけでなく、TCPやUDPのポート番号も変換してプライベートアドレスを同時に使えるようにしています。

 iptablesでNATを操作するには、「natテーブル」を使用します。「テーブル」はiptablesの重要な概念です。前回紹介したチェインは、フィルタルールを集めてモジュール化したものです。このチェインをさらにグループ化したのがテーブルです。テーブルの種類によって、使えるチェインも異なります。

 前回紹介したテンプレートでは、テーブルを指定していません。この場合(テーブル指定省略時)は「filterテーブル」が使用されています。このfilterテーブルで使用できるチェインがINPUT、OUTPUT、FORWARDです。natテーブルでは、POSTROUTING、PREROUTING、OUTPUTの3つのチェインが使えます。

図 filter+natテーブルの構造
  PREROUTINGチェイン
  ディスティネーションアドレスの書き換え/DNAT
  POSTROUTINGチェイン
  ソースアドレスの書き換え/SNAT
  OUTPUTチェイン
  ローカルで生成されたパケットのディスティネーションアドレスの書き換え/DNAT

 「Linuxで作るファイアウォール[NAT設定編]」も参照することで、ここで用いた「ディスティネーション/ソース」と、「内部ネットワーク(プライベートアドレス側)/外部ネットワーク(グローバルアドレス側)」の関係をより理解できるでしょう。

 テーブルには、filterやnatのほかにmangleがあります。これについては別の機会に説明します。

1/6

Index
習うより慣れろ! iptablesテンプレート集
 第2回 natテーブルを利用したLinuxルータの作成
Page 1
natテーブルによるNATの実現
  Page2 テンプレート6
IPマスカレードによるLinuxルータ
 テンプレート6の想定環境
 改造のヒント:メンテナンスホストが外部ネット側にある場合
  Page 3 テンプレート7
Windowsファイル/プリンタ共有パケットのブロック
 テンプレート7の想定環境
  Page 4 テンプレート8
透過型プロキシの実現(ルータと同一サーバ)
 テンプレート8の想定環境
 改造のヒント:REDIRECTを使う方法
  Page 5 テンプレート9
透過型プロキシの実現(ルータとサーバを分離)
 テンプレート9の想定環境
  Page 6 テンプレート10
外部から特定の内部サーバへのアクセスを許可
 テンプレート10の想定環境

連載 習うより慣れろ! 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をサーバとクライアントにインストールすれば、インターネット上でも安全な通信が可能になる

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

ホワイトペーパーTechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています