増田です。
やはり、予想道理の挙動ですね。そんなもんだろうと想像はしてました。
手順的な話で言うと、だから、routedはIPをつけ終わって
から起動すれば
って話なんだろうけど、論理的にそれでいいのかは、頭がほかの事で目
一杯なので
未検証。
そもそも、カーネルもdaemon類もいろいろいっぱい改善されたり
改悪されたり
しているのが、オープンソースなOSですから、(もちろん、
POSIXとか標準は
あるけどさ、全部は網羅していないから)
これ以上は、「結局何がやりたいの?」とか、そもそも論の話になって
しまうと
思いますよ。(それこそ、そういうところにコンサル雇ってきっちり仕
事として
まわしていくみたいな文化ができないとつらいだろうなーとか思う)
--
masuda
On 2006/08/24, at 13:06, Kouji Ito wrote:
伊藤です。
アドレスを追加してからroutedを起動するとどうなりますか?
routed がアドレスの追加を見てなんかパケットを(loか
fxpか知りませんが)に
送ってるんではと想像。
アドレスを追加してからroutedを起動した場合は、OKで
す。
routedを起動後に、アドレスを追加するときにroute monitor
していると、
この様なメッセージが出力されます。
got message of size 116 on Thu Aug 24 12:52:06 2006
RTM_NEWADDR: address being added to iface: len 116, metric 0,
flags:<CLONING>
sockaddrs: <NETMASK,IFP,IFA,BRD>
255.255.255.255 fxp0:0.8.d.87.be.d 192.168.1.2 192.168.1.2
got message of size 172 on Thu Aug 24 12:52:07 2006
RTM_ADD: Add Route: len 172, pid: 0, seq 0, errno 0,
flags:<UP,CLONING>
locks: inits:
sockaddrs: <DST,GATEWAY,NETMASK>
192.168.1.2 (255) ffff ffff ffff
got message of size 124 on Thu Aug 24 12:52:08 2006
RTM_CHANGE: Change Metrics or flags: len 124, pid: 959, seq 3,
errno 3, flags:<HOST>
locks: inits: <hopcount>
sockaddrs: <DST,GATEWAY>
192.168.1.2 192.168.1.2
got message of size 124 on Thu Aug 24 12:52:08 2006
RTM_ADD: Add Route: len 124, pid: 959, seq 4, errno 0,
flags:<HOST,DONE>
locks: inits:
sockaddrs: <DST,GATEWAY>
192.168.1.2 192.168.1.2
全部で4回ルーティング情報が更新されています。
最初の2回は、カーネルが仮想アドレスが追加されたために更新して
いると思います。
残りの2回は、pid:959 からの更新となっており、この
pidを持つプロセスはroutedなので、
おっしゃる通り、routedが、ルーティング情報をおかしくして
いるという事になるかと思います。
問題は、なぜroutedが、このようなルーティング情報を追加し
に来るんだろうという所に
なるかと思います。
また、追加するアドレスのネットマスクを255.255.255.255で
はなく、255.255.255.0にした場合、
routedが動作していてもうまく動く(ping OK)というのもやっ
ぱり疑問です。
そもそも、NICに複数のアドレスを付ける場合、そのネットマ
スク値というのは、
どういう使われ方をするのだろう?
という部分がいまいち判っていない様な気がします。