
鶴長 鎮一
2005/5/17
| テンプレート9 透過型プロキシの実現(ルータとサーバを分離) |
■テンプレート9の想定環境
![]() |
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
プロキシサービスの利用が増加した場合、1台のホストで複数の機能(プロキシとルータ)を処理するのはパフォーマンス(スループットなど)と耐障害性の面で不利になります。ここでは、それぞれの機能を分離した場合を紹介します。
|
テンプレート9の表示(このウィンドウ) テンプレート9の表示(別ウィンドウ) テンプレート9(template09.sh)のダウンロード |
■テンプレート9の解説
プロキシサーバは内部ネット内に設置するものとします。この方針に従い、プロキシサーバのIPアドレスとポート番号を10、11行目で定義します。
10 proxy_ip=192.168.0.100 |
テンプレート8ではLinuxルータでTCP 3128の解放を行いましたが、テンプレート9ではプロキシを別サーバにしたためその必要はありません。
なお、プロキシサーバを外部ネットに設置する場合は、テンプレートを修正する必要があります。
続いて、63〜65行目を見てみます。
63 iptables -t nat -A PREROUTING -i eth1 -s ! $proxy_ip -p tcp --dport 80 -j DNAT --to $proxy_ip:$proxy_port |
63行目で、パケットのあて先をプロキシサーバに変えています。
63行目だけでも透過型プロキシが成立しそうに思えますが、実際には64、65行目が必要になります。テンプレート9の場合、HTTP要求を出す端末はデフォルトルータへパケットを送っているため、戻ってくるパケットもデフォルトルータ経由であることを知っています。つまり、Linuxルータでディスティネーションポートを変更していますが、戻りパケットはLinuxルータからになります。
63行目だけでは、端末はデフォルトルータに要求を送っているにもかかわらず、応答パケットはプロキシサーバから返ってくることになり、不整合が生じます。この不整合を調整するのが64行目の役割です。具体的には、「端末から出たHTTP要求に対する応答がLinuxルータから戻るように」、要求パケットのソースIPをLinuxルータのアドレスに書き換えます。プロキシサーバはHTTP要求に対する応答をLinuxルータに行い、その後Linuxルータから端末へ戻されます。その過程で行われるパケットのFORWARD(eth1からeth1への)を65行目のように解放します。
|
5/6
|
|
||||||||||||
|
||||||||||||
| 連載 習うより慣れろ! 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/10)
今回は、サーバ上のファイルの扱いに関係する設定項目について解説します - 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

