ちょっと、進展しました。
ルーティングデーモンを起動していて、かつ仮想IPを設定
する場合、ネットマスクをオール1にするとダメな事が判りました。

ルーティングデーモンが動作中(routed -q)で、

# ifconfig fxp0 192.168.1.2 netmask 255.255.255.255 alias
で、仮想アドレスを設定すると、 自分から 192.168.1.2 への ping はNGですが、

# ifconfig fxp0 192.168.1.2 netmask 255.255.255.0 alias
で、仮想アドレスを設定すると、 自分から 192.168.1.2 への ping はOKとなります。

ifconfig(8)を読むと、

「アドレスが、本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、
衝突しないネットマスクを指定する必要があります。通常、 0xffffffffが最適です。」

となっていたので、このとおり設定していたのですが。

そもそも、 alias を使ってNICに複数のアドレスを設定する場合、どうして最初のネットワーク
アドレスと同じサブネットの場合は、0xffffffffのサブネット値を使う必要があるのでしょうか?

また、何故、ルーティングデーモンが動作している場合と、動作していない場合で、
自分自身(新しく付けたアドレス)に対してping が通らなかったり、通ったりするのでしょうか?


メールによる返信