- Исходные данные
# uname -sr FreeBSD 12.3-RELEASE-p5 # pkg info | grep spamd spamd-4.9.1_6 Traps spammers with a very slow smtp-login and return 4xx error
- Установка
Как известно, spamd портирован с OpenBSD, и поэтому по умолчанию хочет видеть PF в качестве брандмауера. Как известно, мы не мейнстримщики, у нас в системе уже есть IPFW и почему бы не использовать его? Предварительные настройки, добавляем в файл /etc/make.conf:.if ${.CURDIR} == ${PORTSDIR}/mail/spamd WITH_IPFW=yes .endif
Устанавливаем:# cd /usr/ports/mail/spamd # make install clean
Автозапуск, добавляем строчки в /etc/rc.confobspamd_enable="YES" obspamd_flags="-m ipfw" #obspamlogd_enable="YES"
Добавляем записи в /etc/services, для этого нужно запустить специальный файл:# /usr/local/sbin/add-spamd-to-etc-service Checking /etc/services for missing spamd service entries ==> add entry "spamd 8025/tcp" ==> add entry "spamd-sync 8025/udp" ==> add entry "spamd-cfg 8026/tcp"
Логи в свой файл через syslog, добавляем в файл /etc/syslog.conf:!spamd *.* /var/log/spamd.log
Создаем файл и перезапускаем syslog:# touch /var/log/spamd.log # /etc/rc.d/syslogd restart
Ротация логов, файл /etc/newsyslog.conf:/var/log/spamd.log 640 5 100 * JC
spamlogd хочет файл для данных, создаем:# touch /var/db/spamd # chown _spamd:_spamd /var/db/spamd
- Взаимодействие с IPFW
Если при установке вы выбрали опцию DOC, то можно почитать тут: /usr/local/share/doc/spamd/ipfw-spamd.txt. Из этого файла мы узнаем следующее:
1. spamd по умолчанию в IPFW использует таблицы 1 и 2. Если хотите использовать другие, то, например, для использования таблиц 4 и 5, в /etc/rc.conf должна быть такая строчка:obspamd_flags="-m ipfw -t 4"
Добавляем правила в ipfw:$fw add fwd 127.0.0.1,8025 tcp from table\(5\) to me 25 in $fw add allow tcp from table\(4\) to me 25 in $fw add fwd 127.0.0.1,8025 tcp from any to me 25 in
# /etc/rc.d/ipfw restart # /usr/local/etc/rc.d/obspamd restart
Статья опубликована: 2022-08-14 21:08:10
Последние правки: 2022-08-14 23:25:13
Установим и настроим spamd на FreeBSD. В качестве брандмауера для spamd будем использовать IPFW.
И спойлер: после установки, настройки и запуска, первое же тестовое письмо, отправленное на сервер, не дошло, в логах сервера-отправителя следующее: "status=deferred (TLS is required, but was not offered by host...". Почтовик хочет TLS, но spamd такое не умеет. На данный момент spamd без поддержки TLS бесполезен. Плюс в логах spamd вылезла давняя болячка: IPFW setsockopt(IP_FW_TABLE_FLUSH) (No such process). Как лечить - не нашел.