Redis Quick Start указывает:
Убедитесь, что порт Redis использует для прослушивания соединений (по умолчанию 6379 и дополнительно 16379, если Redis запускается в кластерном режиме, plus 26379 для Sentinel) защищен брандмауэром, поэтому невозможно связаться с Redis из внешнего мира.
Есть ли короткая команда, чтобы проверить, брандмауэры портов ?
Обычно я на хостах установлен ufw (почти всегда Ubuntu), но не nmap.
for port in 6379 16379 26379;do nc -zv 127.0.0.1 $port;done
Конечно, вам следует использовать другой сервер для проверки вашего брандмауэра извне, а не с локального хоста, чтобы убедиться, что приложения заблокированы.
короткая команда для проверки наличия брандмауэра портов?
Ненадежно или окончательно либо от хоста, предлагающего услугу, либо от клиента. Обратите внимание, что в дополнение к брандмауэрам на основе хоста на сетевом пути между клиентом и сервером также могут быть брандмауэры и средства контроля доступа.
С клиента вы можете попытаться установить соединение с правильным портом на хосте, предлагая служба. (Обычно это порт хоста telnet
, nc -vz host port
или openssl s_client -connect host: port
и т. Д. Для служб TCP.)
Если вы может успешно установить соединение : либо действительно нет межсетевого экрана , либо соединение занесено в белый список межсетевого экрана (ов). Последнее является большим различием, так как в брандмауэре могут быть другие элементы управления, которые могут повлиять на вашу производительность в более позднее время, например, ограничение скорости экземпляра, обнаружение вторжений и т. Д.
Если , соединение не может быть установлено , если повезет, вы получите сообщение об ошибке соединение отклонено
. Наше каноническое соединение отклонено. Вопросы и ответы
подробно объясняют, как действовать дальше, чтобы определить, заключается ли проблема в том, что хост, предлагающий услугу, настроен неправильно или действительно брандмауэр блокирует соединение (или и то, и другое).
Если соединение не может быть установлено и вы получаете тайм-аут соединения
, это может быть брандмауэр, который блокирует соединение, отбрасывая попытку соединения, а не вежливо отклоняя его, но это также может быть проблема с маршрутизацией, преобразование имени хоста в неправильный IP-адрес или что-то еще.
вы можете использовать netcat или telnet, чтобы проверить, открыт ли порт с некоторой внешней машины.