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