Всем привет.
Написал скрипт для фильтрации сообщений, но хочу, чтобы он выполнялся для всех компьютеров, кроме одного. Сделал такую конфигурацию:
main.cf:
smtpd_client_restrictions = hash:/etc/postfix/smtpd.client
smtpd.client:
10.0.0.1 OK //этот адрес надо без фильтра
10.0 FILTER my_filter: // всё остальное в локальной сети
Ну и my_filter в master.cf соответственно описан, не буду приводить ибо не важно. Но выползла наружу следующая проблема: под первую строчку попадают не только 10.0.0.1, но и 10.0.0.10, 10.0.0.11..., 10.0.0.100..., 10.0.0.199 и фильтр не выполняется.
Вопрос: как написать такое правило, чтобы под него попадало только 10.0.0.1, но не другие адреса? Сменить IP с 10.0.0.1 на что-то не допускающее других вариантов не предлагать.
Альтернатива: мне подошел бы ещё один вариант решения моей задачи, но тоже не пойму как сделать. А именно: если бы мой my_filter вызывался бы для клиентов, прошедших SMTP-авторизацию (и не вызывался для не прошедших, естественно). Есть permit_sasl_authenticated, работает, дает отправлять наружу только авторизовавшимся, но не позволяет вызвать собственный фильтр для них.