У меня два почтовых сервера postfix
Мой вопрос заключается в том, как лучше всего использовать mailserver1 или amavis с mailserver1 для сканирования почты из mailserver2.
Я уже настроил postfix на mailserver1 для пересылки писем на amavis, и это работает нормально, но если возможно, я хочу пересылать письма с mailserver2 напрямую на amavis. Кто-нибудь знает, как я могу указать amavis для прослушивания внешних портов. Моя конфигурация amavis уже выглядит так:
#where can i specify the ip address and the networks for which amavis is listening??
$inet_socket_port = [10024,10028]; # default listening socket
#incoming mail from server1
$interface_policy{'10024'} = 'S1';
#incoming mail from server2 forewarded by server1
$interface_policy{'10028'} = 'S2';
$policy_bank{'S1'} = {
#send back to postfix on local server1
notify_method => 'smtp:[127.0.0.1]:10026',
forward_method => 'smtp:[127.0.0.1]:10026',
};
$policy_bank{'S2'} = {
#send to postfix on other server2
notify_method => 'smtp:[192.168.1.2]:10029',
forward_method => 'smtp:[192.168.1.2]:10029',
};
Итак, что мне нужно добавить к этой конфигурации, чтобы я мог получать прямые рассылки с помощью amavis с почтового сервера 2 и отправлять их обратно на него.
Amavisd использует параметр $inet_socket_bind
чтобы указать, какой IP-адрес привязки. Возможное значение undef или ан Айпи адрес. Так, невозможно указать какой-то IP-адрес но не все. Значение по умолчанию 127.0.0.1., это означает, что amavis слушает только на localhost.
Если вы открываете amavisd, привязывая его к общедоступному IP-адресу, не забудьте установить ACL, чтобы не разрешать свободный доступ к SMTP-порту amavisd. Для этого используйте параметр @inet_acl
. Например:
@inet_acl = qw(127.0.0.1 [::1] 192.168.1.2); # this will allow connection only from 127.0.0.1 or [::1] or 192.168.1.2)
Старая ветка, но на заметку. Чтобы вернуть почту на любой IP-адрес, используйте '*'. Таким образом, 2 банка политики OP могут быть заменены одной директивой
$ forward_method = 'smtp: *: 10026';
Протестировано, все работает.