一尘不染

java getLocalHost()UnknownHostException / etc / hosts文件与linux api不同吗?

linux

我有两台redhat 6.3机器,两者都没有在/ etc /
hosts中更改(即,我还没有为它们添加IP地址)。在我的机器上可以正常运行getLocalhost并返回主机名a.domain.com。另一个失败,发生UnknownHostException。

以前,我总是将ip添加到/ etc /
hosts,但是我想知道为什么这台机器不需要它。两台机器上的/etc/nsswitch.conf都有“主机:文件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调用以获取主机名。

谢谢,院长


阅读 355

收藏
2020-06-07

共1个答案

一尘不染

啊,我偶然发现了差异。在我的/ etc / sysconfig / network文件中,我在工作计算机上具有FQDN,但在另一台计算机上,我只有主机名“
b”,因此将其更改为“ b.domain.com”可以解决此问题,而我没有根本不需要修改我的/ etc / hosts文件!!!!

院长

2020-06-07