質問: /etc/hostsへの自ホストの書き方について 次のような状況の時、/etc/hostsの書式はどのように書くのが正しいのでしょうか。 lan内のホスト名 pc1 所属するlanのドメイン名 mynet ipアドレス 192.168.0.1 現在の/etc/hostsの記述内容 127.0.0.1 localhost.localdomain localhost pc1.mynet pc1 lan内の他のpcの/etc/hostsには次を記述しています。 192.168.0.1 pc1.mynet pc1 上記の/etc/hostsで特に支障は出ていないのですが、 192.168.0.1 pc1.mynet pc1 という記述がpc1の/etc/hostsにあった方がよいような気もします。しかし、そうするとpc1のアドレスが127.0.0.1なのか192.168.0.1なのかわからなくなるような気がします。 2007年11月18日
回答: 一般論で言えば、pc1がosレベルで192.168.0.1 pc1.mynet pc1の対応付けを知る必要がないのかなと思います。 なぜなら、pc1のプログラムが自分自身へ接続する際はloopbackアドレスを使えばいいからです。 例えば上記の現状の設定で、ブラウザからhttp://localhost/と接続する際は当然ですが、127.0.0.1宛に接続しに行きます。 ブラウザからhttp://pc1.mynet/と接続する際も127.0.0.1宛に接続しに行きます。このとき、もし問題となるとすれば、httpdが127.0.0.1からのアクセスを拒否している場合のみです。 つまり何が言いたいのかというと、pc1で提供するサービス(httpdなのかsmtpなのかわかりませんが)が、127.0.0.1からの接続を許可していれば、わざわざ自分自身へのアクセスの際に192.168.0.1が割り当てられているnicへ接続に行く必要がないということです。 要するに、pc1のアドレスが192.168.0.1であることを、pc1上で動くプログラムが知る必要がないなら、特に設定は不要ということです。