Назад | Перейти на главную страницу

virtual_alias_domains - как использовать разные IP-адреса при пересылке почты?

Я размещаю 2 веб-домена (domain1.com и domain2.com) на сервере CentOS 6.6 Linux с 4 IP-адресами.

Postfix 2.6.6 принимает почту на info@domain1.com и info@domain2.com и направляет их person1@gmail.com и person2@gmail.com. Вот выдержки из файлов конфигурации:

/etc/postfix/main.cf

inet_interfaces = all
inet_protocols = ipv4

virtual_alias_domains = domain1.com domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual
smtp_generic_maps = hash:/etc/postfix/generic

/ и т.д. / постфикс / виртуальный

info@domain1.com        person1@gmail.com
info@domain2.com        person2@gmail.com

Моя проблема в том, что первый человек (мой отец, который занимается Интернетом с 1990 года) получает много спама. Я использую Spamassassin, чтобы отклонять эти письма, но некоторые из них все еще приходят и перенаправляются на person1@gmail.com они заставляют Google блокировать мой сервер:

DFC32800849 3412 Пт, 30 января, 11:40:38 PPQDikzMMZTedKR@hotmail.com (хост alt1.gmail-smtp-in.l.google.com [74.125.130.26] сказал: 421-4.7.0 [144.76.123.123 15] Наша система обнаружил необычную частоту нежелательной почты 421-4.7.0, исходящую с вашего IP-адреса. Чтобы защитить наших пользователей 421-4.7.0 от спама, для почты, отправляемой с вашего IP-адреса, была временно ограничена скорость 421-4.7.0. Пожалуйста, посетите 421-4.7.0 http://www.google.com/mail/help/bulk_mail.html чтобы ознакомиться с нашими рекомендациями для отправителей электронной почты Bulk 421 4.7.0. fl14si17784804pdb.81 - gsmtp (в ответ на конец команды DATA)) person1@gmail.com

Это влияет на второго человека, который получает письма на person2@gmail.com после долгих задержек.

У меня вопрос: можно ли настроить Postfix так, чтобы он использовал разные IP-адреса (поскольку на моем сервере их 4) для пересылки почты?

Спасибо, и ниже представлен текущий вывод postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
header_checks = pcre:/etc/postfix/header_checks
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = www.domain1.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_destination_concurrency_limit = 2
smtp_destination_rate_delay = 40s
smtp_generic_maps = hash:/etc/postfix/generic
unknown_local_recipient_reject_code = 550
virtual_alias_domains = domain1.com domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual

ОБНОВИТЬ:

Я изменил свои файлы конфигурации, как это было предложено неопределенный (спасибо!), а затем запустите postmap /etc/postfix/transport и service postfix restart -

/etc/mail/master.cf:

smtp      unix  -       -       n       -       -       smtp
smtp-1    unix  -       -       n       -       -       smtp -o smtp_bind_address=my_ip_3
smtp-2    unix  -       -       n       -       -       smtp -o smtp_bind_address=my_ip_4

/ и т. д. / почта / транспорт:

person1@gmail.com smtp-1:
person2@gmail.com smtp-2:

К сожалению, я все еще вижу старый проблемный my_ip_2 в заголовках доставленных писем.

Как я могу убедиться, что используются новые «транспорты»?

Вот выдержка из журнала после изменения:

Feb  7 14:56:50 www postfix/postsuper[14206]: Deleted: 92 messages
Feb  7 14:57:06 www postfix/anvil[14172]: statistics: max connection rate 1/60s for (smtp:37.233.142.116) at Feb  7 14:53:45
Feb  7 14:57:06 www postfix/anvil[14172]: statistics: max connection count 1 for (smtp:37.233.142.116) at Feb  7 14:53:45
Feb  7 14:57:06 www postfix/anvil[14172]: statistics: max cache size 1 at Feb  7 14:53:45
Feb  7 14:57:07 www postfix/smtp[14008]: warning: open active 6870A8007E8: No such file or directory
Feb  7 14:57:14 www postfix/smtpd[14213]: connect from mail-ie0-f171.google.com[209.85.223.171]
Feb  7 14:57:14 www postfix/smtpd[14216]: connect from unknown[213.179.214.207]
Feb  7 14:57:14 www postfix/smtpd[14213]: 3EBA0800187: client=mail-ie0-f171.google.com[209.85.223.171]
Feb  7 14:57:14 www postfix/cleanup[14218]: 3EBA0800187: message-id=<CAADeyWgtCh21w-_AbKaPrq_kj2A=YjRi7OXHyjjruL01MR6sqw@mail.gmail.com>
Feb  7 14:57:14 www postfix/qmgr[12668]: 3EBA0800187: from=<alexander.farber@gmail.com>, size=1707, nrcpt=1 (queue active)
Feb  7 14:57:14 www spamd[1856]: spamd: connection from localhost [127.0.0.1] at port 34152
Feb  7 14:57:14 www spamd[1856]: spamd: setuid to spam succeeded
Feb  7 14:57:14 www spamd[1856]: spamd: processing message <CAADeyWgtCh21w-_AbKaPrq_kj2A=YjRi7OXHyjjruL01MR6sqw@mail.gmail.com> for spam:502
Feb  7 14:57:14 www spamd[1856]: spamd: clean message (-1.9/5.0) for spam:502 in 0.0 seconds, 1670 bytes.
Feb  7 14:57:14 www spamd[1856]: spamd: result: . -1 - BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID scantime=0.0,size=1670,user=spam,uid=502,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=34152,mid=<CAADeyWgtCh21w-_AbKaPrq_kj2A=YjRi7OXHyjjruL01MR6sqw@mail.gmail.com>,bayes=0.000000,autolearn=ham
Feb  7 14:57:14 www postfix/smtpd[14216]: 68890800246: client=unknown[213.179.214.207]
Feb  7 14:57:14 www postfix/pipe[14219]: 3EBA0800187: to=<Abram.Farber@gmail.com>, orig_to=<simplex@simplex.ru>, relay=spamassassin, delay=0.18, delays=0.13/0/0/0.05, dsn=2.0.0, status=sent (delivered via spamassassin service)
Feb  7 14:57:14 www postfix/qmgr[12668]: 3EBA0800187: removed
Feb  7 14:57:14 www postfix/pickup[14119]: 69FD7800187: uid=502 from=<alexander.farber@gmail.com>
Feb  7 14:57:14 www postfix/cleanup[14223]: 69FD7800187: message-id=<CAADeyWgtCh21w-_AbKaPrq_kj2A=YjRi7OXHyjjruL01MR6sqw@mail.gmail.com>
Feb  7 14:57:14 www postfix/qmgr[12668]: 69FD7800187: from=<alexander.farber@gmail.com>, size=2042, nrcpt=1 (queue active)
Feb  7 14:57:14 www spamd[1762]: prefork: child states: II
Feb  7 14:57:14 www postfix/smtpd[14213]: disconnect from mail-ie0-f171.google.com[209.85.223.171]
Feb  7 14:57:14 www postfix/cleanup[14218]: 68890800246: message-id=<187523230485881875322129321382@72wdyszvr.meetpeople.gen.in>
Feb  7 14:57:14 www postfix/qmgr[12668]: 68890800246: from=<eHarmonyPartner@meetpeople.gen.in>, size=13993, nrcpt=1 (queue active)
Feb  7 14:57:14 www spamd[1856]: spamd: connection from localhost [127.0.0.1] at port 34153
Feb  7 14:57:14 www spamd[1856]: spamd: setuid to spam succeeded
Feb  7 14:57:14 www spamd[1856]: spamd: processing message <187523230485881875322129321382@72wdyszvr.meetpeople.gen.in> for spam:502
Feb  7 14:57:14 www postfix/smtpd[14216]: disconnect from unknown[213.179.214.207]
Feb  7 14:57:14 www spamd[1856]: spamd: clean message (1.6/5.0) for spam:502 in 0.2 seconds, 13741 bytes.
Feb  7 14:57:14 www spamd[1856]: spamd: result: . 1 - BAYES_50,HTML_MESSAGE,RDNS_NONE,T_REMOTE_IMAGE,UNPARSEABLE_RELAY scantime=0.2,size=13741,user=spam,uid=502,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=34153,mid=<187523230485881875322129321382@72wdyszvr.meetpeople.gen.in>,bayes=0.484741,autolearn=no
Feb  7 14:57:15 www postfix/pickup[14119]: 00CD6800247: uid=502 from=<eHarmonyPartner@meetpeople.gen.in>
Feb  7 14:57:15 www postfix/cleanup[14223]: 00CD6800247: message-id=<187523230485881875322129321382@72wdyszvr.meetpeople.gen.in>
Feb  7 14:57:15 www postfix/pipe[14219]: 68890800246: to=<Abram.Farber@gmail.com>, orig_to=<simplex@simplex.ru>, relay=spamassassin, delay=0.68, delays=0.43/0/0/0.25, dsn=2.0.0, status=sent (delivered via spamassassin service)
Feb  7 14:57:15 www postfix/qmgr[12668]: 68890800246: removed
Feb  7 14:57:15 www postfix/qmgr[12668]: 00CD6800247: from=<eHarmonyPartner@meetpeople.gen.in>, size=14341, nrcpt=1 (queue active)
Feb  7 14:57:15 www spamd[1762]: prefork: child states: II
Feb  7 14:57:47 www postfix/smtp[14008]: warning: open active A6F92801560: No such file or directory

К сожалению, в доставленном тестовом письме все еще есть тот же IP-адрес (который регулируется Google) 144.76.184.154:

Delivered-To: abram.farber@gmail.com
Received: by 10.170.190.67 with SMTP id h64csp2513657yke;
        Sat, 7 Feb 2015 05:59:08 -0800 (PST)
X-Received: by 10.180.89.210 with SMTP id bq18mr14321108wib.45.1423317548028;
        Sat, 07 Feb 2015 05:59:08 -0800 (PST)
Return-Path: <alexander.farber@gmail.com>
Received: from www.afarber.de ([144.76.184.154])
        by mx.google.com with ESMTP id k10si7979060wif.41.2015.02.07.05.59.07
        for <Abram.Farber@gmail.com>;
        Sat, 07 Feb 2015 05:59:08 -0800 (PST)
Received-SPF: softfail (google.com: domain of transitioning alexander.farber@gmail.com does not designate 144.76.184.154 as permitted sender) client-ip=144.76.184.154;
Authentication-Results: mx.google.com;
       spf=softfail (google.com: domain of transitioning alexander.farber@gmail.com does not designate 144.76.184.154 as permitted sender) smtp.mail=alexander.farber@gmail.com;
       dkim=pass header.i=@gmail.com;
       dmarc=pass (p=NONE dis=NONE) header.from=gmail.com
Received: by www.afarber.de (Postfix, from userid 502)
    id 69FD7800187; Sat,  7 Feb 2015 14:57:14 +0100 (CET)
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on www.afarber.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
    HTML_MESSAGE,T_DKIM_INVALID autolearn=ham version=3.3.1
Received: from mail-ie0-f171.google.com (mail-ie0-f171.google.com [209.85.223.171])
    by www.afarber.de (Postfix) with ESMTP id 3EBA0800187
    for <simplex@simplex.ru>; Sat,  7 Feb 2015 14:57:14 +0100 (CET)

Это не тот IP, который я указал для smtp-1 или smtp-2.

ОБНОВЛЕНИЕ 2:

Я добавил "-v" в /etc/postfix/master.cf:

smtp      inet  n - n - - smtpd -o content_filter=spamassassin
....
smtp      unix  - - n - - smtp
smtp-1    unix  - - n - - smtp -o smtp_bind_address=144.76.184.155 -v
smtp-2    unix  - - n - - smtp -o smtp_bind_address=144.76.184.156 -v
....
spamassassin unix - n n - - pipe user=spam argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

И теперь смотрите больше сообщений Spamassassin в / var / log / maillog.

Вот обновленный вывод postconf -n (который не изменился сверху):

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
header_checks = pcre:/etc/postfix/header_checks
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = www.afarber.de
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_destination_concurrency_limit = 2
smtp_destination_rate_delay = 40s
smtp_generic_maps = hash:/etc/postfix/generic
unknown_local_recipient_reject_code = 550
virtual_alias_domains = videoskat.de balkan-preferans.de simplex.ru larissa-farber.de bukvy.de slova.de
virtual_alias_maps = hash:/etc/postfix/virtual

Я вижу здесь два решения.

  1. (Я сделал такую ​​конфигурацию много лет назад) Google использует многие IP-адреса как MX. Вы можете указать на транспортной карте, что первая почта маршрутизируется через gmail-smtp-in.l.google.com., А вторая - через alt1.gmail-smtp-in.l.google.com. Затем - с помощью iptables и nat / POSTROUTING - подключение nat к первому google MX через первый ip и ко второму google MX через второй ip.

  2. (не проверено, но должно работать) ip, используемый для исходящей почты, определяется через smtp_bind_address. вы можете определить второй (и следующий) транспорт smtp в master.cf, например:

smtp-1 unix  -  -   n       -       -       smtp -o smtp_bind_address=firstip
smtp-2 unix  -  -   n       -       -       smtp -o smtp_bind_address=secondip

а затем определите в транспортной карте что-то вроде:

person1@gmail.com smtp-1:
person2@gmail.com smtp-2:

вы должны указать using файл transportmap в файле main.cf:

transport_maps = hash:/etc/mail/transport

и беги

postmap /etc/mail/transport

для создания хеш-карты.