java getLocalHost() UnknownHostException Файл /etc/hosts отличается от linux api?

У меня есть две машины 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 API getLocalHost на машину, чтобы получить имя хоста.

спасибо, Дин

1 ответ

Решение

Ах, я наткнулся на разницу. В моем файле /etc/sysconfig/network у меня было полное доменное имя на рабочей машине, но на другой машине у меня было только имя хоста "b", поэтому изменение на "b.domain.com" решило проблему, и я не Мне вообще не нужно изменять мой файл / etc / hosts!!!!

декан

Другие вопросы по тегам