Доброго всем дня! Помогите пожалуйста первый раз сам настраиваю почтовик, разобраться в теме и понять что же не так, была задача поставить postfix спамассасин + довекот с базой виртуальных почтовых пользователей в mysql, чтобы почта ходила к клиенту через поп3 и имап(но важнее через поп3 , имап так- для себя), ну и привязать ко всему этому cyrus sasl для авторизации удаленный пользователей с помощью базы sasldb2 для отправки писем через мой почтовик для сторонних доменов типа яндекса.
Настроил вроде все, прочитал кучу всяких статей и книг, в итоге остановился на инструкции вот такой она мне больше всех подходила:
http://technotrance.su/index.php/moi-stati/freebsd/item/13-h...
по ней и делал точнее придерживался ее. в итоге получилось, что все уходит и приходит- вроде замечательно работает, но не работает отправка почты на яндекс адреса к примеру , для этого решил воспользоваться cyrus sasl прочитал вот это
http://www.e-reading-lib.org/bookreader.php/142101/Postfix_-...
и вроде все понятно, настроил но при отправке в maillog пишет:Jun 12 19:24:29 bsd postfix/smtpd[3181]: connect from unknown[85.174.244.192]
Jun 12 19:24:29 bsd postfix/smtpd[3181]: NOQUEUE: reject: RCPT from unknown[85.174.244.192]: 554 5.7.1 <xxx@rambler.ru>: Relay access denied; from=<it@mydomen.ru> to=<xxx@rambler.ru> proto=ESMTP helo=<SamsungN130>
Jun 12 19:24:32 bsd postfix/smtpd[3181]: disconnect from unknown[85.174.244.192]все уже перепроверил и перечитал и не пойму что же не так, ПОМОГИТЕ люди добрые!! последняя надежда на вас!!
вот конфиги:postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = bsd.mydomen.ru
mydomain = mydomen.ru
myorigin = $mydomain
inet_interfaces = all
mydestination =
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.1/32, 192.168.10.0/24
relay_domains =
alias_maps = hash:/usr/local/etc/aliases
alias_database = hash:/usr/local/etc/aliases
home_mailbox = Mailbox
mail_spool_directory = /usr/home/mail
smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = /usr/local/share/doc/postfix
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = /usr/local/share/doc/postfix
inet_protocols = ipv4virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:1911
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1911
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
virtual_destination_concurrency_limit =100
virtual_destination_recipient_limit = 100
virtual_uid_maps = static:1911
smtpd_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/lib/sasl2/sasldb2
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unauth_pipelining
reject_invalid_hostname
permitsmtpd_sasl_local_domain = $mydomain
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_cert_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_CAfile = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom*****************************************************************
postfix/master.cf
*******************************
smtp inet n - n - - smtpd
-o content_filter=spamassassin
-o receive_override_options=no_address_mappings
smtps inet n - n - - smtpd
-o content_filter=spamassassin
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
dovecot unix - n n - - pipe
flags=DRhu user=virtual:virtual argv=/usr/local/libexec/dovecot/deliver -d ${recipient}
spamassassin unix - n n - - pipe
user=spamd argv=/usr/local/bin/spamc -f -e /usr/local/sbin/sendmail -oi -f ${sender} ${recipient}********************************************************************
dovecot/dovecot.conf
***********************************
protocols = imap pop3
listen = *
base_dir = /var/run/dovecot/
instance_name = dovecot
login_trusted_networks = 127.0.0.1/32 192.168.10.0/24
shutdown_clients = yes
dict {
#quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf
!include_try local.conf**********************************************************
dovecot/conf.d/10-auth.conf
******************************disable_plaintext_auth = no
auth_default_realm = mydomen.ru
auth_worker_max_count = 30
auth_mechanisms = plain login
#!include auth-deny.conf.ext
#!include auth-master.conf.ext#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
***************************************************************/usr/local/lib/sasl2/smtpd.conf
**************************************
log_level: 4
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
*******************************************базу sasldb2 создал и пользователя завел
в телнет 25 отображается
220 bsd.mydomen.ru ESMTP Postfix
ehlo client.mydomen.ru
250-bsd.mydomen.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
*************************************************Ткните носом пожалуйста, чем причина Relay access denied?
как-то не видно, чтобы почтовый клиент авторизовался для отправки почты.
> как-то не видно, чтобы почтовый клиент авторизовался для отправки почты.да влогах ничего проэто не пишет, но если через msoutlooke отправлять то при постановке галки что смтп серверу требуется проверка подлинности он спрашивает логин и пароль пока не введешь верный... незнаю даже что у меня не так...бьюсь уже неделю и немогу решить эту проблему..........
>> как-то не видно, чтобы почтовый клиент авторизовался для отправки почты.
> да влогах ничего проэто не пишет, но если через msoutlooke отправлять
> то при постановке галки что смтп серверу требуется проверка подлинности он
> спрашивает логин и пароль пока не введешь верный... незнаю даже чтоповторю еще раз: не пишет в логи - значит авторизации нет, либо она происходит вообще на другом сервере.
> у меня не так...бьюсь уже неделю и немогу решить эту
> проблему..........Будешь рогом упираться в землю - будешь решать эту проблему годами.
Покажи вывод# swaks -s xxx.xxx.xxx.xxx --to xxx@rambler.ru --from it@mydomen.ru --auth CRAM-MD5 --auth-user it@mydomen.ru
Должны получить что то типа
# swaks -s mail.example.net --to user@example.ua --from info@example.net --auth CRAM-MD5 --auth-user info@example.net
Password: 1234567
=== Trying mail.example.net:25...
=== Connected to mail.example.net.
<- 220 mail.example.net ESMTP
-> EHLO l3-core-hrk1.example.ua
<- 250-mail.example.net
<- 250-PIPELINING
<- 250-SIZE 32768000
<- 250-ETRN
<- 250-AUTH CRAM-MD5 PLAIN LOGIN
<- 250-ENHANCEDSTATUSCODES
<- 250-8BITMIME
<- 250 DSN
-> AUTH CRAM-MD5
<- 334 PDMwNjI3Mzic3RhZ2luZ3MuYY4OTguMTIxNjY3MzZAd2V29tPg==
-> aW5mb0Bydy1zb2x1dGlvbnMuYWJiOTliYWNiNz28gMjY5OWZmYTE4MzMxOTZkOVlNWIyYzU=
<- 235 2.7.0 Authentication successful
-> MAIL FROM:<info@example.net>
<- 250 2.1.0 Ok
-> RCPT TO:<user@example.ua>
<- 250 2.1.5 Ok
-> DATA
<- 354 End data with <CR><LF>.<CR><LF>
-> Date: Thu, 13 Jun 2013 13:59:07 +0300
-> To: user@example.ua
-> From: info@example.net
-> Subject: test Thu, 13 Jun 2013 13:59:07 +0300
-> X-Mailer: swaks v20111230.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
-> .
<- 250 2.0.0 Ok: queued as D8F9C23B26BE
-> QUIT
<- 221 2.0.0 Bye
=== Connection closed with remote host.
>[оверквотинг удален]
> -> X-Mailer: swaks v20111230.0 jetmore.org/john/code/swaks/
> ->
> -> This is a test mailing
> ->
> -> .
> <- 250 2.0.0 Ok: queued as D8F9C23B26BE
> -> QUIT
> <- 221 2.0.0 Bye
> === Connection closed with remote host.
>
Говорит команда не найдена.
>[оверквотинг удален]
>> ->
>> -> This is a test mailing
>> ->
>> -> .
>> <- 250 2.0.0 Ok: queued as D8F9C23B26BE
>> -> QUIT
>> <- 221 2.0.0 Bye
>> === Connection closed with remote host.
>>
> Говорит команда не найдена.скачай http://www.jetmore.org/john/code/swaks/files/swaks-20130209....
это всего лишь скрипт на перле
>[оверквотинг удален]
>>> ->
>>> -> .
>>> <- 250 2.0.0 Ok: queued as D8F9C23B26BE
>>> -> QUIT
>>> <- 221 2.0.0 Bye
>>> === Connection closed with remote host.
>>>
>> Говорит команда не найдена.
> скачай http://www.jetmore.org/john/code/swaks/files/swaks-20130209....
> это всего лишь скрипт на перлеа что, стандартных команд мало во freebsd ? нет скриптов мне непонятных не надо..........
лучше подскажите может в довекод настроено что-то лишнее, что мешает работе cyrus sasl?
> а что, стандартных команд мало во freebsd ? нет скриптов мне
> непонятных не надо..........ну тогда авторизуйся вручную вводя команды в telnet-сеанс.
> лучше подскажите может в довекод настроено что-то лишнее, что мешает работе cyrus
> sasl?на этом сервере всё лишнее.
>> а что, стандартных команд мало во freebsd ? нет скриптов мне
>> непонятных не надо..........
> ну тогда авторизуйся вручную вводя команды в telnet-сеанс.
>> лучше подскажите может в довекод настроено что-то лишнее, что мешает работе cyrus
>> sasl?
> на этом сервере всё лишнее.включая админа в первую очередь
> а что, стандартных команд мало во freebsd ? нет скриптов мне
> непонятных не надо..........ну тогда пользуйся православным telnet
> лучше подскажите может в довекод настроено что-то лишнее, что мешает работе cyrus
> sasl?я не телепат ;) Пока не предоставишь то, что я просил ищи помощи в гугле
> Доброго всем дня! Помогите пожалуйста первый раз сам настраиваю почтовик, разобраться
> в теме и понять что же не так, была задача поставить
> postfix спамассасин + довекот с базой виртуальных почтовых пользователей в
> mysql, чтобы почта ходила к клиенту через поп3 и имап(но важнее
> через поп3 , имап так- для себя), ну и привязать ко
> всему этому cyrus sasl для авторизации удаленный пользователей с помощью
> базы sasldb2 для отправки писем через мой почтовик для
> сторонних доменов типа яндекса.а какой глубокий смысл хранить пользователей в mysql и при этом производить аутентификацию через sasldb2? Зачем две разных базы пользователей? Было бы более логично производить аутентификацию пользователей в том же mysql через тот же cyrus-sasl
попробовал настроить автризацию через dovecot sasl благо постфикс собран с поддержкой его, и опять теже грабли, вот что пишет телнет при попытке авторизоваться и отправить почту:
220 bsd.mydomen.ru ESMTP Postfix
ehlo mydomen.ru
250-bsd.mydomen.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
u
502 5.5.2 Error: command not recognized
auth plain
334
dGVzdG1haWw=
535 5.7.8 Error: authentication failed:
auth login
334 VXNlcm5hbWU6
dGVzdG1haWw=
334 UGFzc3dvcmQ6
MTIzNDU=
235 2.7.0 Authentication successful
mail from: testmail@mydomen.ru
250 2.1.0 Ok
rcpt to: любой адрес@rambler.ru
554 5.7.1 <любой адрес@rambler.ru>: Relay access deniedв логах при этом тоже самое пишет что и в первом посте я указывал...... сроки поджимают а с авторизацией не как не разберусь.без авторизации все работает прекрасно...и из локальной все ходит куда угодно.........
postconf -n таки покажи
> postconf -n таки покажину это же сложная команда...
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated
Запятых не хватает скорее всего.
>> postconf -n таки покажи
> ну это же сложная команда...
> smtpd_recipient_restrictions = permit_mynetworks,
>
>
> permit_sasl_authenticated
> Запятых не хватает скорее всего.не факт, можно и без запятых, только в начале каждой строки ОБЯЗАТЕЛЬНО должен идти один пробел
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
...
reject_unauth_destination
postconf -nalias_database = hash:/usr/local/etc/aliases
alias_maps = hash:/usr/local/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
dovecot_destination_recipient_limit = 1
home_mailbox = Mailbox
html_directory = /usr/local/share/doc/postfix
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mail_spool_directory = /usr/home/mail
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
mydestination =
mydomain = kpk-s.ru
myhostname = bsd.kpk-s.ru
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
relay_domains =
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_unknown_sender_d omain reject_unknown_recipient_domain reject_non_fqdn_sender reject_non_fqdn_recipient reject_unauth_pipelining reject_inval id_hostname permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_cert_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_key_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_destination_concurrency_limit = 100
virtual_destination_recipient_limit = 100
virtual_gid_maps = static:1911
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1911
virtual_transport = dovecot
virtual_uid_maps = static:1911
> postconf -nЧто насчет запятых?
>> postconf -n
> Что насчет запятых?насчет запятых: в мане ясно указано что ему пофиг на запятые, если указано все в таком виде:
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
...
reject_unauth_destination
>>> postconf -n
>> Что насчет запятых?
> насчет запятых: в мане ясно указано что ему пофиг на запятые, если
> указано все в таком виде:
> smtpd_recipient_restrictions =
> permit_mynetworks
> permit_sasl_authenticated
> ...
> reject_unauth_destinationа у меня в конфиге именно так и записано
>>>> postconf -n
>>> Что насчет запятых?
>> насчет запятых: в мане ясно указано что ему пофиг на запятые, если
>> указано все в таком виде:
>> smtpd_recipient_restrictions =
>> permit_mynetworks
>> permit_sasl_authenticated
>> ...
>> reject_unauth_destination
> а у меня в конфиге именно так и записанот.е. не писать запятые - это принципиальная жизненная позиция ?
>[оверквотинг удален]
>>>> Что насчет запятых?
>>> насчет запятых: в мане ясно указано что ему пофиг на запятые, если
>>> указано все в таком виде:
>>> smtpd_recipient_restrictions =
>>> permit_mynetworks
>>> permit_sasl_authenticated
>>> ...
>>> reject_unauth_destination
>> а у меня в конфиге именно так и записано
> т.е. не писать запятые - это принципиальная жизненная позиция ?да нет же...... пробовал я и с запятыми и без запятых, но ситуация не поменялась.........
>[оверквотинг удален]
>>>> указано все в таком виде:
>>>> smtpd_recipient_restrictions =
>>>> permit_mynetworks
>>>> permit_sasl_authenticated
>>>> ...
>>>> reject_unauth_destination
>>> а у меня в конфиге именно так и записано
>> т.е. не писать запятые - это принципиальная жизненная позиция ?
> да нет же...... пробовал я и с запятыми и без запятых, но
> ситуация не поменялась.........Погаси постфикс, проверь телнет на 25 порт.
Вдруг ты вообще на другой почтовик какой соединяешься? (там конечно какие-то логи были выше по теме, но в них ни разу не было видно факта запрета релея почты при успешной авторизации)
reject_unknown_sender_d omain
...
reject_unauth_pipelining reject_inval id_hostname permit
что за пробелы?
>[оверквотинг удален]
> reject_unknown_sender_d
>
> omain
> ...
> reject_unauth_pipelining reject_inval
>
>
> id_hostname permit
>
> что за пробелы?пробелы при копировании получились- обман зрения, так все с этим в порядке.
ALex_hha , ну как можешь что-то сказать из-за чего такое может быть может еще что показать?
решил тему, чуть с ума не сошел, =) необходимо было всего-то добавить опцию
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
так как smtpd_relay_restrictions по дефолту стоит обязательно,а там соответственно нет авторизации.
всем кто хотел помочь спасибо огромное, а умникам вроде pavel_simple показать фак........
> решил тему, чуть с ума не сошел, =) необходимо было всего-то добавить
> опцию
> smtpd_relay_restrictions =
>
> permit_mynetworks
>
> permit_sasl_authenticated
>
> reject_unauth_destination
> так как smtpd_relay_restrictions по дефолту стоит обязательно,а там соответственно нетэто в какой версии постфикса такое ?
в 2.9 я это не вижу...
> это в какой версии постфикса такое ?
> в 2.9 я это не вижу...http://www.postfix.org/postconf.5.html#smtpd_sasl_auth_enable Обновлять порты, ура!
> это в какой версии постфикса такое ?Грабли:
# With Postfix 2.10 and later, the mail relay policy is
# preferably specified under smtpd_relay_restrictions.
smtpd_relay_restrictions =
permit_mynetworks, permit_sasl_authenticated, ...# With Postfix before 2.10, the relay policy can be
# specified only under smtpd_recipient_restrictions.
smtpd_recipient_restrictions =
permit_mynetworks, permit_sasl_authenticated, ...
> показать
> фак........виноват