Networking

如何使用 amavis 從其他郵件伺服器掃描郵件

  • April 5, 2019

我有兩個 postfix 郵件伺服器

  • mailserver1 正在執行 amavis 以掃描垃圾郵件和病毒郵件
  • mailserver2 在沒有 amavis 的情況下執行。

我的問題是如何使用 mailserver1 和 mailserver1 中的 amavis 掃描來自 mailserver2 的郵件的最聰明的方法。

我已經在 mailserver1 上配置了 postfix 以將郵件轉發到 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',
};

那麼我必須在此配置中添加什麼,以便我可以從 mailserver2 接收帶有 amavis 的直接郵件並將它們發送回它。

Amavisd 使用參數$inet_socket_bind 來指定綁定的 IP 地址可能的值是 undef 或IP 地址。因此,不能指定某些 IP 地址,但不能指定全部。預設值為 127.0.0.1,這意味著 amavis 僅在 localhost 上偵聽。

如果您通過將 amavisd 綁定到公共 IP 地址來公開 amavisd,請不要忘記設置 ACL,這樣您就不允許自由訪問 amavisd SMTP 埠。為此,請使用參數@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)

引用自:https://serverfault.com/questions/652933