Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: postfix dmz relay  (Прочитано 1718 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
postfix dmz relay
« : 01 Февраля 2016, 12:57:02 »
Привет всемю
ребята, подскажите простой рабочий конфиг для postfix dmz relay.
Мне надо принимать всю почту для домена domain.net не важно сушествует ящик или нет
и пересылать по дефолту на mx.domain.net.
если последний недоступен, то ждать когда он поднимится и пересылать.

Сейчас есть такой конфиг (длинный, потому, что правлю на том, что было. но можно и читый создать)

root@u23435:/etc/postfix# cat main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myorigin = /etc/mailname
myhostname = relay..domain.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost, domain.net
relayhost =
mynetworks = 127.0.0.0/8 0.0.0.0/0 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 20485760
recipient_delimiter = +
inet_interfaces = all

relay_domains = .domain.net

###
transport_maps = hash:/etc/postfix/transport

#virtual_mailbox_base = /home/vmail
#virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
#virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
#virtual_alias_maps = hash:/etc/postfix/virtual_aliases
#virtual_minimum_uid = 100
#virtual_uid_maps = static:998
#virtual_gid_maps = static:65534

smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_type = dovecot
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth

maximal_queue_lifetime = 2d
bounce_queue_lifetime = 2d

disable_vrfy_command = yes

smtpd_client_message_rate_limit = 32
#smtpd_client_connection_rate_limit = 8
smtpd_client_recipient_rate_limit = 10
smtpd_helo_required = yes
smtp_helo_timeout = 60s
smtpd_delay_reject = no
smtpd_soft_error_limit = 1
smtpd_hard_error_limit = 1
smtpd_error_sleep_time = 0

header_checks = regexp:/etc/postfix/header_checks

# milter greylist
smtpd_milters = unix:greylist/milter-greylist.sock

#HELO/EHLO
smtpd_helo_restrictions =
    permit_mynetworks,
    check_helo_access regexp:/etc/postfix/helo_access,
    #reject_non_fqdn_helo_hostname,
    permit

# sender ip address
smtpd_client_restrictions =
    permit_mynetworks,
    #check_client_access hash:/etc/postfix/access,
    #reject_unknown_reverse_client_hostname

# MAIL FROM
smtpd_sender_restrictions =
    permit_mynetworks,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain

#RCPT TO
smtpd_recipient_restrictions =
    reject_unauth_destination
    permit_mynetworks,
    permit_sasl_authenticated,
    check_client_access hash:/etc/postfix/access,
    reject_non_fqdn_helo_hostname,
    reject_unknown_reverse_client_hostname,
#    reject_unauth_destination,
    reject_unlisted_recipient

root@u23435:/etc/postfix# cat transport
domain.net smtp:[mail..domain.net]


Сейчас при попытке отправить в телнете ругается вот на что:
emedvedev@142-pc~14:32:38:~$ telnet .domain.net 25
Trying xxx.107.238.xxx...
Connected to relay. .domain.net.
Escape character is '^]'.
220 relay..domain.net ESMTP Postfix (Debian/GNU)
helo mx.domain.net
250 relay.domain.net
mail from:user@.domain.net
250 2.1.0 Ok
rctp to:user@domain.net
502 5.5.2 Error: command not recognized
421 4.7.0 relay.domain.net Error: too many errors
Connection closed by foreign host.

в логах:
Feb  1 15:54:23 u23435 postfix/smtpd[31193]: connect from mx.domain.net[ip]
Feb  1 15:54:31 u23435 milter-greylist: smfi_getsymval failed for {i}
Feb  1 15:54:34 u23435 postfix/smtpd[31193]: too many errors after UNKNOWN from mx.domain.net[ip]
Feb  1 15:54:34 u23435 postfix/smtpd[31193]: disconnect from mx.domain.net[ip]


С postfix ранее работал, так, что что то недопонимаю...
« Последнее редактирование: 01 Февраля 2016, 15:37:56 от jidckii »
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #1 : 01 Февраля 2016, 13:23:23 »
Ну а _внимательно_ прочитать то, что получаете в ответ не пробовали?
Цитировать
rctp to:emedvedev@obltv.ru
502 5.5.2 Error: command not recognized

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #2 : 01 Февраля 2016, 13:50:21 »
а DHCP-Relay умеешь?
Wars ~.o

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Re: postfix dmz relay
« Ответ #3 : 01 Февраля 2016, 14:39:40 »
Ну а _внимательно_ прочитать то, что получаете в ответ не пробовали?
Цитировать
rctp to:user@domain.net
502 5.5.2 Error: command not recognized

Сори, с опечаткой вышло...

:~$ telnet relay.domain.net 25
Trying xxx.107.238.xxx...
Connected to relay.domain.net
Escape character is '^]'.
220 relay.domain.net ESMTP Postfix (Debian/GNU)
helo mx.domain.net
250 relay.domain.net
mail user@domain.net
250 2.1.0 Ok
rcpt user@domain.net
550 5.1.1 <user@domain.net>: Recipient address rejected: User unknown in local recipient table
421 4.7.0 relay.domain.net Error: too many errors
Connection closed by foreign host.

Feb  1 17:33:36 u23435 postfix/smtpd[31973]: connect from mx.domain.net[ip]
Feb  1 17:33:46 u23435 milter-greylist: smfi_getsymval failed for {i}
Feb  1 17:33:52 u23435 postfix/smtpd[31973]: NOQUEUE: reject: RCPT from mx.domain.net[ip]: 550 5.1.1 <user@domain.net>: Recipient address rejected: User unknown in local recipient table; from=<euser@domain.net> to=<user@domain.net> proto=SMTP helo=<domain.net>
Feb  1 17:33:52 u23435 postfix/smtpd[31973]: too many errors after RCPT from mx.domain.net[ip]
Feb  1 17:33:52 u23435 postfix/smtpd[31973]: disconnect from mx.domain.net[ip]

Отклоняет, как я понял так как смотрит в локальной базе..
как сделать, что бы для нужного домена не искал ящики в локальной базе, а просто все принимал и пересылал ?

Суть в то, что это сервер будет работать в качестве резерва на случай падения основного и агрегировать письма, что бы те не пропали, при возможной недоступности конечного...
« Последнее редактирование: 01 Февраля 2016, 15:38:35 от jidckii »
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #4 : 01 Февраля 2016, 14:47:35 »
Насколько я Вас понял, Вы хотите сделать так называемый backup mx? Если да, то вот очень простое руководство: https://www.howtoforge.com/postfix_backup_mx

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Re: postfix dmz relay
« Ответ #5 : 01 Февраля 2016, 15:01:18 »
Насколько я Вас понял, Вы хотите сделать так называемый backup mx? Если да, то вот очень простое руководство: https://www.howtoforge.com/postfix_backup_mx


Вы верно поняли.
Спасибо за ссылку.

Пользователь решил продолжить мысль [time]01 Февраль 2016, 16:20:07[/time]:
Все получилось, спасибо за помощь.
Еще такой вопрос, если я отправлю письмо на не существующий адрес, postfix его перешлет, exchange забреет естественно, так как такого ящика нет и перешлет обратно.
Вопрос, постфикс в данном случае, что с письмом сделает ? вернет отправителю, или сума сойдет, не совсем понятен мне этот момент...

Пользователь решил продолжить мысль 01 Февраля 2016, 16:07:23:
Встала друга проблема.

Feb  1 18:55:06 u23435 postfix/smtpd[578]: connect from unknown[14.186.190.95]
Feb  1 18:55:07 u23435 milter-greylist: smfi_getsymval failed for {i}
Feb  1 18:55:08 u23435 milter-greylist: (unknown id): addr [14.186.190.95][14.186.190.95] from <info@flamer.de> to <constantine@obltv.ru> delayed for 00:05:00 (ACL 168)
Feb  1 18:55:08 u23435 postfix/smtpd[578]: NOQUEUE: milter-reject: RCPT from unknown[14.186.190.95]: 451 4.7.1 Greylisting in action, please come back later; from=<info@flamer.de> to=<user@domain.net> proto=ESMTP helo=<hyi-watch.com>
Feb  1 18:55:08 u23435 postfix/smtpd[578]: too many errors after RCPT from unknown[14.186.190.95]
Feb  1 18:55:08 u23435 postfix/smtpd[578]: disconnect from unknown[14.186.190.95]

Хотя конфиг поправил и smtpd_recipient_restrictions проверил..

# cat main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myorigin = /etc/mailname
myhostname = relay.obltv.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost
relayhost =
mynetworks = 127.0.0.0/8 0.0.0.0/0 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 20485760
recipient_delimiter = +
inet_interfaces = all

relay_domains = domain.net
relay_recipient_maps =
###
transport_maps = hash:/etc/postfix/transport

virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
virtual_alias_maps = hash:/etc/postfix/virtual_aliases
virtual_minimum_uid = 100
virtual_uid_maps = static:998
virtual_gid_maps = static:65534

smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_type = dovecot
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth

maximal_queue_lifetime = 2d
bounce_queue_lifetime = 2d

disable_vrfy_command = yes

smtpd_client_message_rate_limit = 32
#smtpd_client_connection_rate_limit = 8
smtpd_client_recipient_rate_limit = 10
smtpd_helo_required = yes
smtp_helo_timeout = 60s
smtpd_delay_reject = no
smtpd_soft_error_limit = 1
smtpd_hard_error_limit = 1
smtpd_error_sleep_time = 0

header_checks = regexp:/etc/postfix/header_checks

# milter greylist
smtpd_milters = unix:greylist/milter-greylist.sock

#HELO/EHLO
smtpd_helo_restrictions =
    permit_mynetworks,
    check_helo_access regexp:/etc/postfix/helo_access,
    #reject_non_fqdn_helo_hostname,
    permit

# sender ip address
smtpd_client_restrictions =
    permit_mynetworks,
    #check_client_access hash:/etc/postfix/access,
    #reject_unknown_reverse_client_hostname

# MAIL FROM
smtpd_sender_restrictions =
    permit_mynetworks,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain

#RCPT TO
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
#    check_client_access hash:/etc/postfix/access,
#    reject_non_fqdn_helo_hostname,
#    reject_unknown_reverse_client_hostname,
    reject_unauth_destination,
#    reject_unlisted_recipient
« Последнее редактирование: 01 Февраля 2016, 16:07:23 от jidckii »
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #6 : 01 Февраля 2016, 16:15:38 »
А почему он (exchange) должен обратно на backup mx хост письмо отсылать? Должен сообщить отправителю о невозможности доставки.

Цитировать
Feb  1 18:55:07 u23435 milter-greylist: smfi_getsymval failed for {i}
это говорит о проблемах с milter. Гугление тут же дает ссылку: http://www.postfix.org/MILTER_README.html#workarounds

Пользователь решил продолжить мысль 01 Февраля 2016, 16:21:34:
Кстати - вопрос: а что не использовать postgrey? с ним проблем нет...
« Последнее редактирование: 01 Февраля 2016, 16:21:34 от Karl500 »

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Re: postfix dmz relay
« Ответ #7 : 01 Февраля 2016, 16:53:05 »
Karl500,
Огромное спасибо за помощь.

Что бы принимало хоть от кого
закоментировал в main.cf
smtpd_milters = unix:greylist/milter-greylist.sockТеперь все как часы работает.


P.S.: 10 раз подумайте предже чем печатать на оборотках книжку в 500 страниц :D

« Последнее редактирование: 01 Февраля 2016, 17:35:25 от jidckii »
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #8 : 01 Февраля 2016, 23:10:01 »
10 раз подумайте предже чем печатать на оборотках книжку в 500 страниц :D
Я такие вещи либо не печатаю вообще, либо печатаю 4:1/DS
Благо на работе все принтеры поддерживают двустороннюю печать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Re: postfix dmz relay
« Ответ #9 : 16 Февраля 2016, 13:04:22 »
Возникла проблема, в текущей конфиграции сервер стал открытым пересыльщиком,
и через меня посыплись тонны спама.
Не подскажите, как избежать возможности пересылки через меня.
Все, что мне нужно, это принимать почту для домена domain.com и ждать
пока конечный smtp поднимится и ему можно будет передать пришедшие письма.

Мне не нужно, что бы через него можно было отправлять письма с домена domain.com
и нужно исключить возможность какой либо вообще пересылки сквозь меня.
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля

Оффлайн jidckii

  • Автор темы
  • Участник
  • *
  • Сообщений: 164
  • 18.04
    • Просмотр профиля
    • jidckii
Re: postfix dmz relay
« Ответ #11 : 16 Февраля 2016, 14:02:11 »
Karl500,
По этому руководству и делал.
и в итоге получил open relay для спамеров...
То, что стоит почитать: http://pub.paradev.ru/books/

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: postfix dmz relay
« Ответ #12 : 16 Февраля 2016, 14:05:00 »
Значит, что-то сделали не так - проверяйте внимательно.

 

Страница сгенерирована за 0.052 секунд. Запросов: 25.