« Windwos2003Serverでの自動ログオン設定方法 | Main | セキュリティ対策はどこまで行えばいいのか »

March 06, 2006

Windows serverでDSRを行う方法

※まずDSRとは何ぞや?という方はこちらを見てください。

さて、以前書いた記事にはWindowsサーバでDSRを行う方法が含まれていないことに気づきました。そこで今回はその方法を記します。

(前提を記しましょう。このネットワークのネットワークアドレスが172.16.0.0、ネットマスクが255.255.0.0だっとします。そこにVIP172.16.115.10、ノードとなるWEBサーバが172.16.115.1と172.16.115.2の2台構成だったとした場合を考えてみます。)

【loopback adapterをインストールする】
DSRを行う場合各サーバにループバック設定を行わなければなりませんが、Windowsの場合デフォルトでloopbackアダプターがインストールされていませんのでまずはloopback adapterをインストールする必要があります。手順は以下の通り。


  • [スタート] ボタンをクリックし、[設定] をポイントします。次に [コントロール パネル] をクリックし、[ハードウェアの追加と削除] をダブルクリックします。
  • [デバイスの追加/トラブルシューティング] をクリックし、[次へ] をクリックします。
  • [新しいデバイスの追加] をクリックし、[次へ] をクリックします。
  • [いいえ、一覧からハードウェアを選択します] をクリックし、[次へ] をクリックします。
  • [ネットワーク アダプタ] をクリックし、[次へ] をクリックします。
  • [製造元] ボックスの一覧で、[Microsoft] をクリックします。
  • [ネットワーク アダプタ] ボックスの一覧で、[Microsoft Loopback Adapter] をクリックし、[次へ] をクリックします。
  • [完了] をクリックします。


【loopback設定を行う】
次にloopback adapterのTCP/IP設定を開いてください。ここでIPアドレスにはVIP、サブネットマスクにはそのネットワークのサブネットを入れ、その他は空欄にしてください。設定例は以下の通り。


【テスト】
WEBブラウザーから「http://172.16.115.10/」と入力してみてください。無事動けば設定完了です。


※追記(2009/11/16)
どうやら上記設定はWindows2003のみ有効とのことです。下記を参照しました。
http://d.hatena.ne.jp/yoshifumi1975/20090316/p2

※おまけ
Fondry ServerIron系でのDSR設定例を記します。慣れてしまえば非常に簡単です。

server real node1 172.16.115.1
  port http

server real node2 172.16.115.2
  port http
!
!
server virtual SERVICE_IP 172.16.115.10
  predictor least-conn
  port http dsr
  bind http node1 http node2 http

|

« Windwos2003Serverでの自動ログオン設定方法 | Main | セキュリティ対策はどこまで行えばいいのか »

Comments

SubnetMask=255.255.255.255 ?
Alteonの設定出せますけど・・・。

Posted by: yama | March 19, 2006 10:52 PM

コメントありがとうございます。

が、???。すみません。どういうことでしょう?

Posted by: sanonosa | March 20, 2006 01:32 PM

すいません,コメントを省略しすぎました。

1つ目。loopbackアダプタの SubnetMaskは 32bit(255.255.255.255)が正しいのではないかと思います。

2つ目。Alteonでの設定例。しばらく F5触ってないっす。
...
/c/slb/real 1
  ena
  rip 192.168.1.1
  submac ena  #MACアドレス付け替え
/c/slb/real 2
  ena
  rip 192.168.1.2
  submac ena  #MACアドレス付け替え
...
/c/slb/group 1
  add 1
  add 2
/c/slb/port 1
  client ena  # server ena は不要
/c/slb/virt 1
  ena
  vip 192.168.1.254
/c/slb/virt 1/service http
  group 1
  nonat ena  # NATもしない
...

Posted by: yama | March 21, 2006 12:59 AM

コメントありがとうございます。

Windowsの場合はloopback adapterのnetmaskを255.255.255.255にできないんです。なのでそのネットワークのnetmaskを入れることになります。

あとALTEONの例ありがとうございます。

Posted by: sanonosa | March 21, 2006 03:26 PM

255.255.255.255 じゃない件、理解しました。知りませんでした。
DSRに興味あります&使ってます。これからもよろしくお願いします。

Posted by: yama | March 22, 2006 10:04 PM

FoundryでのDSR構成ですが、業務でよく行います。
私の考えるDSR構成時のデメリットは、
・負荷分散方式の要件が複雑になると構成を変える必要がある
ということです。
DSR構成をとった場合、L7スイッチング方式は採用できません。アプリ側の要件が変わり、cookies もしくは URL 等でのパーシステンスが必要になるとネットワークの構成ごとかえる必要があるので、それがネックになって提案をためらうことが多々あります。

Posted by: ko | March 29, 2006 03:31 PM

>sticky機能があるロードバランサー
ServerIronではIPアドレスでのStickyでのDSR構成はOKです。
ServerIronがプロキシとして動作するような場合(cookie-switch,URL-switch)、戻りパケットを通す必要性からDSR構成が取れません。
他のベンダさんの機械ではどうなんでしょうか?
以前、BIG-IPについてはDSR構成自体をサポートしていないと取り扱いベンダのSEに聞いたことがあります。

Posted by: ko | March 31, 2006 02:20 PM

>sticky機能があるロードバランサー
ServerIronではIPアドレスでのStickyでのDSR構成はOKです。
ServerIronがプロキシとして動作するような場合(cookie-switch,URL-switch)、戻りパケットを通す必要性からDSR構成が取れません。
他のベンダさんの機械ではどうなんでしょうか?
以前、BIG-IPについてはDSR構成自体をサポートしていないと取り扱いベンダのSEに聞いたことがあります。

Posted by: ko | March 31, 2006 02:22 PM

Source の IPアドレスが変わるようなクライアントだと駄目ですね。携帯電話とかだとキャリアのゲートウェイがコロコロ変わるので面倒。最近は、Tomcat のセッションレプリケーションとかで何とかしちゃってます。

Posted by: yama | April 01, 2006 12:23 AM

はじめまして。DSRの実サーバにWindowsを用いた
ロードバランサ構成の調査をしていて
辿り着きました。

上記情報、とても参考になりWindowsXPではうまくDSRができるようになりました。ただし、実サーバをVistaにするとロードバランサから実サーバがパケットを受け取れない、あるいは、ackを返すことができないという状態になってしまいます。
XPとVistaは同様の設定にしているのですが、Vistaだけうまくいきませんので、何か情報をお持ちでしたら教えていただけると助かります。

Posted by: aiko2007 | October 15, 2007 09:05 PM

aiko2007さんこんにちは。

う~ん、残念ながらVistaでの構築経験はないのでわからないですが、Vistaのデフォルトセキュリティ設定もしくはセキュリティ系アプリケーションが怪しい気はしますね。お役に立てずにすみません。。。

Posted by: sanonosa | October 15, 2007 10:16 PM

ご返答誠にありがとうございます。
webサイトをいろいろ見て回りましたが、実サーバがvistaのDSR構築例が何もなく、困っておりました。
やはりセキュリティ周りでしょうか。もう少し調べてみます。

Posted by: aiko2007 | October 21, 2007 02:38 PM

DSRありがとうございます。
このサイトが一番わかりやすかったです

BIG-IP では、このような構成をする場合でも
ローカル側とグローバル側を別 VLAN にします。
必ず戻りのパケットが BIG-IP を通るので、
DSR の設定をする必要がありません。

なんですが BIG-IP の場合はメーカ、代理店ともに推奨していません。サポートも期待できません。

Posted by: しげきっくす | January 11, 2008 08:20 PM

WindowsでDSRをやっているということなので参考にさせてもらっています。
実際loopback adapterをインストールし、linux(CentOS)のlvs+keepalivedにWindowsサーバーを割り振るようにしたのですが、うまく動作してくれません。気になったのですが、
・例ではhttpですが、それ以外のポートでも実現可能でしょうか?
・LVSとWindowsサーバー側で利用するポートが異なる(LVS接続時は60000ポートだが、loopback adapterをインストールしたWindows側では60100で接続したい)場合は利用できないのでしょうか?

Posted by: とっとこ | August 26, 2008 07:37 PM

とっとこさん

コメントありがとうございます。実験できる環境がないので何とも言えませんが、両方共問題ないはずです。

うまくいくといいですね。^^

Posted by: sanonosa | August 26, 2008 10:48 PM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Windows serverでDSRを行う方法:

» ソフ得!キーボード名車掌 東海道本線VER. [パソコンお役立ち情報by朝日新聞@ソフ得、ネッ得]
お世話になります。朝日新聞Be、ソフ得!などのパソコンお役立ち情報を掲載していま [Read More]

Tracked on March 20, 2006 08:52 PM

» [Keepalived] Windows Server {2000,2003,2008} でDSRを行う方法 [Sleepless geek in Seattle]
「 Keepalived + LVS + CentOS4 でロードバランサー(DSR) - Sleepless geek in Seattle」あたりで、Keepalived を使ったCentOS のロードバランスは簡単にできるようになったが、Windows Server の設定はどうやるんだろうと調べてみたら、こんな素敵なエントリ を見つけた... [Read More]

Tracked on April 16, 2009 10:52 AM

« Windwos2003Serverでの自動ログオン設定方法 | Main | セキュリティ対策はどこまで行えばいいのか »