
Вот 2 сервера
- 192.168.0.12
- 192.168.0.21
на порту 50070 на сервере 192.168.0.12 запущена служба
когда я запускаю telnet с сервера 192.168.0.21, происходит сбой:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Когда я даю имя хоста, то тоже происходит сбой:
$telnet master1.mycluster 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Даже когда я пытаюсь с 192.168.0.12, происходит сбой, если я ввожу IP-адрес:
$telnet 192.168.0.12 50070
Trying 192.168.0.12...
telnet: connect to address 192.168.0.12: Connection refused
Но это работает, если я укажу имя хоста:
$telnet master1.mycluster 50070
Trying 127.0.0.1...
Connected to master1.mycluster.
Escape character is '^]'.
Я нашел этот вопросне могу подключиться к серверу через telnet, соединение отклоняется, но я попробовал все возможности. Вот что я попробовал:
Отключил iptables на обоих серверах
Добавлено ВСЕ: ВСЕ в cat /etc/hosts.allow
Убедился, что служба работает на этом порту
Но ничего из этого мне не помогло.
Вот мой /etc/hosts
127.0.0.1 master1.mycluster master1
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.12 master1.mycluster master1
192.168.0.21 slave1.mycluster slave1
Есть ли что-то еще, чего мне не хватает, чтобы все заработало?
решение1
Ваша служба прослушивает только адрес обратной связи, 127.0.0.1
.
При установлении соединения с адреса 192.168.0.21
или указании ip
адреса оно не работает, так как ваша служба не прослушивает его ip
.
Когда вы используете hostname
from, 192.168.0.12
это работает, потому что он подключается к адресу обратной связи. Это потому, что он сначала будет искать в вашем файле hosts, в /etc/hosts
котором есть запись, указывающая hostname
на ваш loopback ip
:127.0.0.1 master1.mycluster