« 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

The comments to this entry are closed.

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 | セキュリティ対策はどこまで行えばいいのか »