Первая проблема заключалась в том, что вы использовали неправильный синтаксис для команды telnet
.Запуск man telnet
покажет вам, что синтаксис выглядит примерно так:
telnet <host> [<port>]
Итак, в вашем случае вы должны запустить это:
telnet 192.168.1.5 5432
Вторая проблема заключается в том, что у вас есть правило брандмауэра на каждом хосте, запрещающее исходящий трафик на 5432/tcp. (И, возможно, другие порты тоже.) Сообщение об ошибке «Нет маршрута к хосту» генерируется правилом iptables --j REJECT
в цепочке OUTPUT
, которая имеет --reject-with-icmp-host-prohibited
. Вот пример создания такого правила:
iptables -I OUTPUT -p tcp --dport 5432 -j REJECT --reject-with icmp-host-prohibited
Это удовлетворяет ситуации, когда маршрут явно существует, потому что ping
завершается успешно, но ваш сеанс telnet
терпит неудачу. Вы сами можете это проверить командой iptables --line-numbers -nvL
(не iptables -Ln
, которая пытается вывести правила цепочки n
).
Два временных исправления для подтверждения того, что трафик действительно может быть установлен:
Запустите эти две команды в обеих системах (позже вы можете удалить их, заменив -I
с -D
)
iptables -I INPUT -p tcp --src 192.168.1.5/30 -j ПРИНЯТЬ
iptables -I ВЫВОД -p tcp --dst 192.168.1.5/30 -j ПРИНЯТЬ
Я (пока) недостаточно знаком с брандмауэром CentOS 7, чтобы дать вам полное решение для этого. Я могу копать, или, может быть, кто-то другой захочет отредактировать этот ответ, чтобы предоставить эту информацию.