Почтой завалило...

Исходное: Есть веб сервер, есть почтовый сервер, сайт должен пересылать почту, плюс всякие служебные сообщения. Но тут случился коллапс...
Почтой завалило...

Суть коллапса:
Кроме почты был настроен cron и он переодически слал почту на root@domain...всё бы норм ну слал бы и слал, НО! на почтовом сервере стоит fail2ban который вежливо следил чтобы ни чего не натворили злобные все. И он заметил, что почтового ящика root@domain то нет, а письма на него шлють да шлють, ну и забанил его...
Обнаружил я это через пару дней, когда пользователи начали жаловаться, что активации аккаунтов не приходят на почту.
Ну ок. Решаем проблему с баном записав ip веб сервера в белый лист:
В файл /etc/fail2ban/jail.conf прописываем в переменной ignoreip ip вебсервера. Всё гуть.
Но тут меня осиняет, а давай создам я почту root@domain пусть льётся чё будет плохого...
Почтой завалило...

А вот что стало в итоге: около 30 тысяч сообщений встали в очередь postfix и работа офиса встала...отправляются письма, но они встают в очередь после тех 30 тысяч сообщений от root@domain короче ахтунг.
Надо чистить очередь сообщений. Итак: Решение проблемы:
Код BASH:
  1. mailq | grep "root@domain" | awk '{ print $1 }' | sed s/*// | postsuper -d -
удалилось большая часть сообщений - почта ожила и начала работать. Слава яйцам.
Ну и на последок, чтобы cron не слал ненужный хлам, добавил в crontab оконцовки, направляющие всё в вальгалу /dev/null
Код BASH:
  1. 0 * * * * indexer --all --config /home/shop/files/config/sphinx.conf.in --rotate > /dev/null 2>&1
И всё стало тихо и нормально.

Новый опыт:
1. Настроил почтовый сервер.
2. Настроил relay с одного сервера на другой
3. Научился работать с очередью postfix
Комментарии (0)

Нет комментариев. Ваш будет первым!

Copyright 2016-2024 NeoChapay