昨日の失敗は、djbdnsを使おうとしたときに、やってしまった。
 dnsはポートの53番を使うのだけど、djbdnsはbindを2つに分割した作りになっていて、53番を使うプログラムが2つあるんだよね。
 で、使う際にどうするかというと、別々のIPアドレスで待ち受けるようにプログラムを起動する。

 ここでふと疑問に思った。
 「サーバソケットを作るプログラムを書くときって、IPアドレスを明示的に指定したっけ?」
 調べたところ、「明示的に指定しなかった場合は自ホストアドレスになる(http://www.nic.ad.jp/jp/materials/iw/1998/proceedings/C17-1.pdf)」との事らしい。
 つまるところ、「明示的に指定しても、しなくてもいい」というのが答え。

 結構詰まらないオチだったけれど、ここで新たな疑問が。

 「一台のマシンに複数のIPが振ってあったら、どうなるのだろう?」
 明示的に「自ホストIP」なんて、設定した記憶は無いし。
 とりあえず、うちの研究室のapacheサーバは、マシンに振ってあるIPのどれでも、apacheは応答する。
 そして、apacheの設定ファイルに「どのIP宛に接続があったときに応答するか」というような設定は書いてない。

 「IPを明示的に指定してなかったら、そのマシン宛の接続ならどのIP宛でも応答する」というのが、答なのかもしれない。
 想像だけどね。

コメント