自ホストのIPに勝手になる?
2001年12月5日 昨日の失敗は、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宛でも応答する」というのが、答なのかもしれない。
想像だけどね。
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宛でも応答する」というのが、答なのかもしれない。
想像だけどね。
コメント