Приветствую всех!
Есть работающий почтовый сервер (Ubuntu, postfix, courier). Всё работает удовлетворительно.
На данный момент есть необходимость переноса на другое железо. Собрал на FreeBSD сервер postfix+dovecot+всякоразно. Вопрос вот в чем: на прежнем сервере почта приходит и уходит при наличии вот этих строк в конфиге postfix:
smtpd_client_restrictions=...,reject_unknown_client,...
smtpd_sender_restrictions= ...,reject_unknown_sender_domain,...На новом серваке при наличии этих строк не приходит почта даже с mail.ru
(ругается на неизвестные hostname и domain)
По сути получается, что один и тот же конфиг postfix на одном серваке работает, а на другом нет. Какие-то настройки системы могут влиять на работу postfix?Заранее благодарю за помощь!
> Приветствую всех!Какие-то настройки системы могут влиять
> на работу postfix?DNS
>> Приветствую всех!
> Какие-то настройки системы могут влиять
>> на работу postfix?
> DNSможно поподробнее?
Просто на обоих серваках прописаны одни и те же DNS провайдера.
nslookup'ом проверяю - определяется имя мэйловского сервера с которого почта не проходит ( по ип-адресу из логов).
ещё можно чем-нибудь проверить?
> Просто на обоих серваках прописаны одни и те же DNS провайдера.
> nslookup'ом проверяю - определяется имя мэйловского сервера с которого почта не проходит
> ( по ип-адресу из логов).
> ещё можно чем-нибудь проверить?Можно maiilog сюда выложить, чтобы на кофейной гуще не гадать
>> Просто на обоих серваках прописаны одни и те же DNS провайдера.
>> nslookup'ом проверяю - определяется имя мэйловского сервера с которого почта не проходит
>> ( по ип-адресу из логов).
>> ещё можно чем-нибудь проверить?
> Можно maiilog сюда выложить, чтобы на кофейной гуще не гадатькусок лога:
Aug 16 14:20:03 srv postfix/smtpd[9464]: connect from unknown[128.140.169.169]
Aug 16 14:20:03 srv postfix/smtpd[9464]: NOQUEUE: reject: RCPT from unknown[128.140.169.169]: 450 4.7.1 Client host rejected: cannot find your hostname, [128.140.169.169]; from=<...@inbox.ru> to=<...@domainname.ru> proto=ESMTP helo=<f305.mail.ru>
Aug 16 14:20:03 srv postfix/smtpd[9464]: disconnect from unknown[128.140.169.169]
> Aug 16 14:20:03 srv postfix/smtpd[9464]: connect from unknown[128.140.169.169]
> Aug 16 14:20:03 srv postfix/smtpd[9464]: NOQUEUE: reject: RCPT from unknown[128.140.169.169]:
> 450 4.7.1 Client host rejected: cannot find your hostname, [128.140.169.169]; from=<...@inbox.ru>
> to=<...@domainname.ru> proto=ESMTP helo=<f305.mail.ru>Все правильно, как и сказали выше - проблема с DNS, постфикс у тебя почему-то не может определить имя подключающегося клиента.
postconf -n покажи еще.
>> Aug 16 14:20:03 srv postfix/smtpd[9464]: connect from unknown[128.140.169.169]
>> Aug 16 14:20:03 srv postfix/smtpd[9464]: NOQUEUE: reject: RCPT from unknown[128.140.169.169]:
>> 450 4.7.1 Client host rejected: cannot find your hostname, [128.140.169.169]; from=<...@inbox.ru>
>> to=<...@domainname.ru> proto=ESMTP helo=<f305.mail.ru>
> Все правильно, как и сказали выше - проблема с DNS, постфикс у
> тебя почему-то не может определить имя подключающегося клиента.
> postconf -n покажи еще.alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
disable_vrfy_command = yes
invalid_hostname_reject_code = 550
mydestination = $myhostname, localhost.domainname.ru, localhost
mydomain = domainname.ru
myhostname = srv.domainname.ru
mynetworks = 127.0.0.0/8, 192.168.0.0/24
myorigin = $mydomain
non_fqdn_reject_code = 550
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtp_data_xfer_timeout = 600
smtp_pix_workarounds =
smtpd_client_restrictions =
reject_unknown_client,
reject_unknown_sender_domain,
reject_rbl_client xbl.spamhaus.org,
reject_rbl_client psbl.surriel.com
smtpd_delay_reject = yes
smtpd_etrn_restrictions = permit_mynetworks,
reject
smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/sender_access,
reject_non_fqdn_sender,
reject_unlisted_sender,
reject_unverified_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unverified_recipient,
reject_unauth_destination,
reject_unauth_pipelining
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_restrictions =
smtpd_tls_cert_file = /etc/ssl/postfix/smtpd.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_use_tls = yes
strict_rfc821_envelopes = yes
transport_maps = hash:/etc/postfix/virtual_transport
unknown_address_reject_code = 550
unverified_recipient_reject_code = 550
unverified_sender_reject_code = 550
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-forwards.cf,
mysql:/etc/postfix/mysql-email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf
virtual_transport = hash:/etc/postfix/virtual_transport
virtual_uid_maps = static:5000
>> postconf -n покажи еще.
> alias_database = hash:/etc/aliasesхммм.
А main.cf.default, часом, не редактировал случайно?
Особенно в свете smtp_host_lookup и disable_dns_lookup
>>> postconf -n покажи еще.
>> alias_database = hash:/etc/aliases
> хммм.
> А main.cf.default, часом, не редактировал случайно?
> Особенно в свете smtp_host_lookup и disable_dns_lookupНет не редактировал. На всякий случай посмотрел что там:
smtp_host_lookup = dns
disable_dns_lookup = no
"хммм." - это означает то же, что и "белый пушистый зверь"?
)))
> "хммм." - это означает то же, что и "белый пушистый зверь"?
> )))хмм означает что я в недоумении :)
Лично у меня smtpd_client_restrictions используется исключительно для отлупа спамерских IP или CIDR. больше там я ничего никогда не включал...
>> "хммм." - это означает то же, что и "белый пушистый зверь"?
>> )))
> хмм означает что я в недоумении :)
> Лично у меня smtpd_client_restrictions используется исключительно для отлупа спамерских
> IP или CIDR. больше там я ничего никогда не включал...Всё-таки, что касаемо DNS...
если nslookup нормально всё распознает, то почему у pastfix'а проблемы с распознаванием могут быть? или я что-то недопонимаю?
> если nslookup нормально всё распознает, то почему у pastfix'а проблемы с распознаванием
> могут быть? или я что-то недопонимаю?nslookup не с клиентской машины часом? :-)
>> если nslookup нормально всё распознает, то почему у pastfix'а проблемы с распознаванием
>> могут быть? или я что-то недопонимаю?
> nslookup не с клиентской машины часом? :-)нет)
таки с сервера)))
> нет)
> таки с сервера)))М.б. так? http://www.sslug.dk/~chlor/postfix/
>> нет)
>> таки с сервера)))
> М.б. так? http://www.sslug.dk/~chlor/postfix/Ыыы...
точно блин!
Спасибо огромное)))только вот вопрос для понимания: вот мой master.cf
разве есть в нем указания запускать что-то в chroot окружении?
ткните меня носом неуча...)
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
# Added for amavisd
#smtp-amavis unix - - n - 2 smtp
# -o smtp_data_done_timeout=1200
# -o smtp_send_xforward_command=yes#127.0.0.1:10025 inet n - n - - smtpd
# -o content_filter=
# -o local_recipient_maps=
# -o relay_recipient_maps=
# -o smtpd_restriction_classes=
# -o smtpd_client_restrictions=
# -o smtpd_helo_restrictions=
# -o smtpd_sender_restrictions=
# -o strict_rfc821_envelopes=yes
# -o smtpd_error_sleep_time=0
# -o smtpd_soft_error_limit=1001
# -o smtpd_hard_error_limit=1000
#
smtp inet n - - - - smtpd
#submission inet n - - - - smtpd
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
#
> только вот вопрос для понимания: вот мой master.cf
> разве есть в нем указания запускать что-то в chroot окружении?
> ткните меня носом неуча...)Что-то у вас всё как-то намешано... Раз у вас chroot не используется, зачем вам тогда proxy_read_maps? Это не к вашему непосредственному вопросу, но повод сесть и переписать конфиги заново, с осознанием что в них для чего, а не копипастить конфигурацию с сервера на сервер... кстати, судя по размещению конфигов постфикса в /etc он у вас при установке выбирался в качестве основного системного мейлера? Может, вы там же и указали chroot'ить его, а потом конфиги подсунули от сервера без chroot postfix?
> smtpd_client_restrictions=...,reject_unknown_client,...А вот эта опция, кстати, чревата своей избыточной строгостью
reject_unknown_client_hostname (with Postfix < 2.3: reject_unknown_client)
Reject the request when 1) the client IP address->name mapping fails, 2) the name->address mapping fails, or 3) the name->address mapping does not match the client IP address.Слишком много поводов для отлупа, собранных в одной проверке. В итоге часто отлупает неоправданно. Я бы это вообще убрал.