SystemdDoctor
служба не работает memcached сеть

memcached: соединение отклоняется с других машин

В дистрибутивных сборках memcached слушает только петлевой интерфейс — и это правильно по умолчанию: у него нет аутентификации. Доступ с других машин требует осознанной настройки и защиты.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Служба слушает только петлевой интерфейс

    Параметр привязки задан в файле настроек. Со стороны других машин соединение отклоняется сразу.

  2. Порт закрыт брандмауэром

    Служба слушает нужный адрес, но правила не пропускают соединения.

  3. Служба не запущена или упала

    Отказ соединения означает и это тоже. Проверять состояние стоит первым делом.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

На каком адресе слушает служба.

sudo ss -tlnp | grep 11211

Действующие ключи запуска.

grep -vE "^#|^$" /etc/memcached.conf

Отвечает ли служба локально.

echo stats | timeout 3 nc 127.0.0.1 11211 | head -5

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Служба слушает только петлевой интерфейс
Почему происходит
Параметр привязки задан в файле настроек. Со стороны других машин соединение отклоняется сразу.
Как проверить
Посмотрите адрес прослушивания.
sudo ss -tlnp | grep 11211
grep -E "^-l|^-p" /etc/memcached.conf
Как исправить
Если доступ по сети действительно нужен, привяжите службу к внутреннему адресу и закройте порт снаружи брандмауэром. Открывать кеш в интернет нельзя: он без аутентификации.
2. Порт закрыт брандмауэром
Почему происходит
Служба слушает нужный адрес, но правила не пропускают соединения.
Как проверить
Проверьте доступность порта с клиента.
timeout 3 bash -c "</dev/tcp/сервер/11211" && echo открыт || echo закрыт
Как исправить
Разрешите порт только для адресов серверов приложений, а не для всех.
3. Служба не запущена или упала
Почему происходит
Отказ соединения означает и это тоже. Проверять состояние стоит первым делом.
Как проверить
Посмотрите состояние службы.
systemctl status memcached --no-pager | head -6
Как исправить
Запустите службу и разберитесь с причиной остановки по её журналу.

Пример вывода

Кеш слушает только петлевой интерфейс. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

$ sudo ss -tlnp | grep 11211
LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:(("memcached",pid=1200,fd=26))

app@web2[4100]: error: dial tcp <адрес>:11211: connect: connection refused

Связанные ошибки

Где встречается чаще всего

Источники

  • Документация memcached: настройка сети документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на memcached из пакетов Ubuntu: по умолчанию слушает только петлевой интерфейс.
    собственная проверка, systemd 255
    сверено 15 сентября 2026