もじもじです。

お返事有り難うございます。

現在は LB にて NAT をかます事と、relayd で ridirect 
では無く relay とすることでバランシングすることが出来る
ところまでは出来ました。

イカ、一点だけ。

Thu, 08 Mar 2012 10:36:53 +0900 に、
Yu Oasa <y...@dearest.net> さんは書きました:

> DSRを構築することとは関係ないでしょう。NAT環境なのにルータで
> NATしない、あるいは非NAT環境なのにリアルサーバにグローバルIP
> を振らないケースってどんな場合ですか?

リアルサーバを冗長化するにあたって GIP の手持ちが少ない
場合、DSR をどうやって実現するのか、が私の目下の悩みでし
た。
なぜ、そう思ったのかと言うと、
http://d.hatena.ne.jp/yamaz/20060817
の記事を見て、下の方に「リアルサーバに GIP 振る必要無い」
という記事を見て、
http://d.hatena.ne.jp/hirose31/20060817/1155795703
を参考に考え、確かに必要ないとの判断で、なんとかなるかと
思っていました。

いわゆる
http://www.undeadly.org/cgi?action=article&sid=20080617010016
この構成で、確かに DSR は可能。
で、実際出来た。DSR だけを実現するなら確かに GIP はいら
ない(いや、正確には GIP がいるんだけどサービス提供用の
GIP を使いまわす事(ARP 無しの alias (lo0 でも可))で可
能)。

しかし、実際のWebページは、あっちこっちのデータをやったり
とったりしているわけで、そこには GIP なり、(広義の)NAT
なりが必要。

っていう事だったってだけの話です。気付かない私が情弱。

1/24におおあささんが書かれていた
> いずれにせよ、リアルサーバをプライベートセグメントに
> 設置する場合、リアルサーバからの outbound に対しては
> full NATを書くのが一般的でしょう。
という部分の理解が甘かったというのもあるのですが、仮に
full NAT(PIP←→any)の記述をリアルサーバで書こうとし
たら、返りのパケットが LB でパケット分散され(笑)、パ
ケットが元に戻ってこない(リアルサーバで外部にアクセス
出来ない)事になります。
ですからルータの位置で NAT を書かないといけません。
でも、それはあんまりしたくない。

DSR にしたかったのは、出来るだけパケットの処理は routing
だけで行い、NAT 変換なんかの CPU 負荷の重い処理を挟みた
くない&負荷を一点に集中したくないという目的だったので。

ただ、思った事が実現出来ないなら、仕方が無いのかな。と。

確かに机上でもわかる話ですが、様々な情報に惑わされ、良く
わからなかったので、結局実際にサーバを立ち上げてパケット
を追っかけることで DSR で私がやりたい事をするには

>結局DSRやりたいなら
>・ルータで NAT しる
>・リアルサーバにGIP振れ
>のどちらかをするしか無さそうですね。

という結論に達しました。
# まぁ、NAT 入れたら DSR とは言え無い様な気がしますけどね・・・(^^;
# それに、R の位置に NAT 入れたら全てのパケットが NAT 対
# 象で、処理速度が・・・

結局 LB に NAT 入れて、リアルサーバからのデータ取得要求等
だけ NAT がかかるようにして4台のリアルサーバに負荷分散す
る事で、ほぼ4倍の処理速度向上が実現出来ました。
# R の位置で full NAT したら処理速度が1/40になりました。
# これにはびっくり(笑)

という、スレ汚しの投稿でした。

面目ございません。

-- 
もじもじ <mojimoji...@yahoo.co.jp>

メールによる返信