私は2台のredhat6.3マシンを持っていますが、どちらも/ etc / hostsに変更はありません(つまり、IPアドレスを追加していません)。私のマシンの1つで、getLocalhostを正常に実行し、ホスト名a.domain.comを返すことができます。もう1つはUnknownHostExceptionで失敗します。
以前、私は常に/ etc / hostsにIPを追加していましたが、なぜこの1台のマシンがそれを必要としないのか疑問に思っています。両方のマシンの/etc/nsswitch.confには「hosts:files dns」があるため、両方のマシンで同じです。
/ etc / sysconfig / network-scripts/ifcfg-eth0スクリプトには大きな違いがあります。UnknownHostExceptionを取得するノードは次のようなものです
DEVICE="eth0"
BOOTPROTO="static"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=10.10.1.5
PREFIX=23
動作するものはこのようなものを持っています...
DEVICE="eth0"
HWADDR="AA:AA:AA:AA:3F:A8"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
IPADDR=10.10.1.2
PREFIX=23
GATEWAY=10.10.1.1
DNS1=10.20.100.100
DNS2=10.20.100.101
DOMAIN="domain.com sub.domain.com"
これがどういうわけか原因でしょうか?または、これが機能しない理由を確認するために他にどのようなファイルを見ることができますか?私は、Javaがホスト名を取得するためにマシンにLinuxgetLocalHostapi呼び出しを行っていると想定しています。
ありがとう、ディーン