我有两台Redhat 6.3机器,在/ etc / hosts中都没有改变(即我没有添加一个ip地址给他们)。 我的机器上可以运行getLocalhost罚款并返回主机名a.domain.com。 另一个失败与UnknownHostException。
以前,我总是添加IP到/ etc / hosts,但我想知道为什么这台机器不需要这个。 两台机器上的/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正在调用一些linux getLocalHost api来调用机器来获取主机名。
谢谢,Dean
啊,我偶然发现了这个区别。 在我的/ etc / sysconfig / network文件中,我在工作机器上有FQDN,但是在另一台机器上,我只有主机名“b”,所以更改为“b.domain.com”修复了这个问题,不需要修改我的/ etc / hosts文件!!!!
院长