[Ultramonkey-l7-develop 373] Re: 仮想サーバに INADDR_ANY を指定できないようになっている理由

Back to archive index

TATEISHI Katsuyuki tatei****@oss*****
2009年 5月 15日 (金) 13:16:36 JST


立石です。お疲れさまです。
コメントありがとうございます。

From: 森下徹 <moris****@nttco*****>
Subject: [Ultramonkey-l7-develop 371] Re: 仮想サーバに INADDR_ANY を指定できないようになっている理由
Date: Fri, 15 May 2009 10:13:03 +0900

>> 現在の l7vsadm では 仮想サーバの IP アドレスに 0.0.0.0 を指
>> 定できないようになっていますが、
>> ============================================================
>> [root @ charlie ~]# l7vsadm -A -t 0.0.0.0:443 -m sslid
>> PARSE ERROR : You can't specify INADDR_ANY for endpoint.
>> Usage:
>> (以下略)
>> ============================================================
>> これにはどのような意図があるのでしょうか?
>> ご存知の方がいたら教えていただけますか?
> 
> まず、この処理に相当するコードですが、0.xのバージョン
> あたりでもすでに入っていることから、L4から受け継がれている
> ものではないかと思います。

なるほど。
sf.net の ultramonkey プロジェクトページ
http://ultramonkey.cvs.sourceforge.net/ultramonkey/
を見てみましたが、CVS リポジトリには何も入ってませんでし
た・・・orz

> コメントを見ると
> We always use the first entry, because we can't distinguish
> which entry you want to specify if we have multiple entries
> となっているので、明示的でないIPアドレスを
> 指定させたくないという考えのように思います。

このコメントはおそらく

sin = (struct sockaddr_in *)res->ai_addr;

にかかっていて、ai_next 以降の addrinfo を見ずに最初の
addrinfo の ai_addr に決め打ちしてる(first entry を使ってい
る)理由の説明だと思います。

>> ざっとコードを見たところ、リアルサーバに 0.0.0.0 を指定させな
>> いためのコードを -A のときも通ってしまっているのかなぁと予想
>> してます。
>> # "endpoint" というエラーメッセージからもそんな気がします
> 
> この部分の処理は、指定されたendopointをチェックしている部分で
> VirtualService、RealServerのどちらのチェックにも使用しています。
> # 古いコードでメッセージは、You can't specify INADDR_ANY
> # for virtual service だったのですが、l7vsadmの処理見直し時
> # に、どちらのチェックでも使っているので "endpoint"に
> # 変えています。

ではもともと virtual service として INADDR_ANY を使わせたく
なかった理由があったのかもしれませんね・・・
ただ、現在では理由はわからなくなっている、と。

>> 現在 Heartbeat で Act-Stb の クラスタ構成をとったときに仮想サー
>> バの IP アドレスとして 0.0.0.0 を指定できないので、両系で
>> l7directord をあげておくことはできませんが、仮想サーバとして
>> 0.0.0.0 待ち受けが可能になれば、Heartbeat で管理するのは仮想
>> IP アドレスの付け替えだけにできてうれしいと思うのですが・・・
>> # どっちみちHBでプロセス監視が必要というのは置いておくとして
> 
> VirtualServiceを0.0.0.0として運用するという方法も「あり」
> なのですね。。。

「あり」だと思います。

--
TATEISHI Katsuyuki <tatei****@oss*****>




Ultramonkey-l7-develop メーリングリストの案内
Back to archive index