- PR -

InetAddress.getLocalHost().getHostName()で取得されるLinuxサーバのホスト名

1
投稿者投稿内容
deer
会議室デビュー日: 2005/03/11
投稿数: 3
投稿日時: 2005-03-11 20:54
Linx(RedHat 7.2)で稼動しているシステムがあり、その機能の中でInetAddress.getLocalHost().getHostName()を用いて稼動しているサーバのホスト名を取得しているものがありました。
ネットワーク構成の変更に伴い、そのサーバのホスト名を変更することになりました。

Linuxにおいて次の2つの変更を行い、OSを再起動しました。
・/etc/sysconfig/network
 HOSTNAMEの値を変更
・/etc/hosts
 127.0.0.1に対応するホスト名を変更

この変更を行った後にシステムを起動すると、取得されるホスト名が0.0.0.0になってしまいました。

Webで調べたところ、InetAddressでサーバの情報を取得できないときに0.0.0.0が返るというような情報もありましたが、確かではありません。

DNS等の設定も関係するのでしょうか。

ご存知の方がいらっしゃいましたらご教授願えないでしょうか。

宜しくお願い致します。
nekoyama
ベテラン
会議室デビュー日: 2005/03/12
投稿数: 71
投稿日時: 2005-03-12 01:01
私も2,3年前にSolarisで同じ経験をしました。

SunのSolaris用JREのInetAddress#getLocalHostの実装が、hostsファイルを見て名前解決するのが原因だったような。。と記憶しています。

Linuxでの実装も同じかもしれません。hostsファイルの記述をもう一度見直してみてはいかがでしょうか。

JREのバージョン等、詳細については記憶になくて申し訳ないですが。。。
deer
会議室デビュー日: 2005/03/11
投稿数: 3
投稿日時: 2005-03-15 14:57
「未記入」様、ご返信ありがとうございます。
再度hostsファイルの内容を確認してみます。
tanabo
常連さん
会議室デビュー日: 2003/04/24
投稿数: 34
投稿日時: 2005-03-15 16:16
もしそのマシンがDNSに登録されていないのなら、
ループバックアドレス(127.0.0.0)だけではなく、
そのマシンのIPアドレスもhostsファイルに記述すれば
上手くいくのではないかと思います。
deer
会議室デビュー日: 2005/03/11
投稿数: 3
投稿日時: 2005-03-16 18:19
tanabo様、ご返信ありがとうございます。
hostsファイルに、対象となるマシンのIPアドレスを記入するという方法についても確認してみます。
1

スキルアップ/キャリアアップ(JOB@IT)