суббота, 12 апреля 2014 г.

sendmail: Отправка почты в мир с локальным hostname

Понадобилось настроить отправку почты с сервера за NAT, вдобавок сервер с внутренним hostname (вида zabbix.local). Поменять имя сервера нельзя и нет смысла. Вообще, правильным решением было бы снести этого монстра прошлого века и поставить что-то нормальное, но было желание получить опыта.

в /etc/mail/sendmail.mc ищем LOCAL_DOMAIN и вписываем туда нужный нам хостнейм, повторяем для MASQUERADE_AS. То, что кавычки в начале и конце строки разные -- не бага, а фича, аккуратно! Чуть ниже идут MASQUERADE_DOMAIN, добавляем секцию с внешним хостнеймом (примеры там есть). А также активируем
FEATURE(`always_add_domain')dnl
FEATURE(`masquerade_entire_domain')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`allmasquerade')dnl

Теперь ставим sendmail-cf, чтобы можно было пересобрать конфигурацию, и перестраиваем конфиг
make -C /etc/mail
/etc/init.d/sendmail restart

От рута не тестируем! Сендмыл неадекватен и рутовую почту не подменяет даже с FEATURE(`allmasquerade') ! Вот всяком случае, с centos 5.10
Отслеживать можно через просмотр очереди mailq, очистка очереди через удаление файлов в /var/spool/mqueue
Причины отказа в /var/log/maillog

Линки

Комментариев нет:

Отправить комментарий