The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"postfix and two virtual hosts"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"postfix and two virtual hosts"  +/
Сообщение от handler2006 email(ok) on 06-Сен-11, 16:24 
Здравствуйте!
Смотрю в книгу и вижу...

Имеем:
ОС - fedora 13
apache c двумя virtual host:
EEE.BBB.AAA
DDD.CCC.BBB.AAA
postfix
Один внешний "белый" адрес.
Пользователей в системе.
main.cf:
1 queue_directory = /var/spool/postfix
  2 command_directory = /usr/sbin
  3 daemon_directory = /usr/libexec/postfix
  4 data_directory = /var/lib/postfix
  5 mail_owner = postfix
  7 virtual_alias_domains = CCC.BBB.AAA
  8 virtual_mailbox_domains = /etc/postfix/virtual_domains
  9 virtual_mailbox_base = /var/spool/base
10 mydestination = /etc/postfix/virtual_domains
11 virtual_maps = hash:/etc/postfix/virtual_addresses
12 myorigin = $mydomain
13 inet_interfaces = all
14 inet_protocols = all
15 unknown_local_recipient_reject_code = 550
16 alias_maps = hash:/etc/aliases
17 alias_database = hash:/etc/aliases
18 mail_spool_directory = /var/spool/mail
19 debug_peer_level = 2
20 debugger_command =
21          PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
22          ddd $daemon_directory/$process_name $process_id &     sleep 5
23 sendmail_path = /usr/sbin/sendmail.postfix
24 newaliases_path = /usr/bin/newaliases.postfix
25 mailq_path = /usr/bin/mailq.postfix
26 setgid_group = postdrop
27 html_directory = no
28 manpage_directory = /usr/share/man
29 sample_directory = /usr/share/doc/postfix-2.7.0/samples
30 readme_directory = /usr/share/doc/postfix-2.7.0/README_FIL    ES
31 mailbox_size_limit = 0

cat /etc/postfix/virtual_domains
EEE.BBB.AAA
DDD.CCC.BBB.AAA

cat /etc/postfix/virtual_addresses
DDD.CCC.BBB.AAA        DOMAIN
@DDD.CCC.BBB.AAA    user

В даный момент почта работает для EEE.BBB.AAA

Задача:
Предоставить возможность зарегистрированным пользователям системы получать почту на user@DDD.CCC.BBB.AAA

Отправляю письмо на user@EEE.BBB.AAA - все работает.

Отправляю письмо на user@DDD.CCC.BBB.AAA
cat /var/log/maillog
Sep  6 14:26:11 olymp postfix/master[11465]: daemon started -- version 2.7.0, configuration /etc/postfix
Sep  6 14:26:27 olymp postfix/smtpd[11471]: connect from web01.mi6.kiev.ua[91.198.36.2]
Sep  6 14:26:27 olymp postfix/trivial-rewrite[11474]: warning: do not list domain DDD.CCC.BBB.AAA in BOTH mydestination and virtual_mailbox_domains
Sep  6 14:26:27 olymp postfix/smtpd[11471]: 640382FE898: client=web01.mi6.kiev.ua[91.198.36.2]
Sep  6 14:26:27 olymp postfix/cleanup[11475]: 640382FE898: message-id=<E1R0tnN-0006LL-0O@web09.mi6.kiev.ua>
Sep  6 14:26:27 olymp postfix/qmgr[11468]: 640382FE898: from=<handler@ua.fm>, size=1399, nrcpt=1 (queue active)
Sep  6 14:26:27 olymp postfix/smtpd[11471]: disconnect from web01.mi6.kiev.ua[91.198.36.2]
Sep  6 14:26:27 olymp postfix/smtp[11476]: connect to mail.nic.BBB.AAA[2001:470:1f0b:1c94::2]:25: Network is unreachable
Sep  6 14:26:47 olymp postfix/smtp[11476]: 640382FE898: to=<user@BBB.AAA>, orig_to=<user@DDD.CCC.BBB.AAA>, relay=mail.nic.BBB.AAA[195.24.128.68]:25, delay=20, delays=0.04/0.01/0.02/20, dsn=5.0.0, status=bounced (host mail.nic.BBB.AAA[195.24.128.68] said: 550 user unknown (in reply to RCPT TO command))
Sep  6 14:26:47 olymp postfix/cleanup[11475]: 78BBD2FE89D: message-id=<20110906112647.78BBD2FE89D@EEE.BBB.AAA>
Sep  6 14:26:47 olymp postfix/bounce[11477]: 640382FE898: sender non-delivery notification: 78BBD2FE89D
Sep  6 14:26:47 olymp postfix/qmgr[11468]: 78BBD2FE89D: from=<>, size=3223, nrcpt=1 (queue active)
Sep  6 14:26:47 olymp postfix/qmgr[11468]: 640382FE898: removed
Sep  6 14:26:47 olymp postfix/smtp[11476]: 78BBD2FE89D: to=<handler@ua.fm>, relay=mx5.ua.fm[91.198.36.54]:25, delay=0.2, delays=0.01/0/0.12/0.07, dsn=5.0.0, status=bounced (host mx5.ua.fm[91.198.36.54] said: 550 Return limit excepted for handler@ua.fm! Try again later. (in reply to DATA command))
Sep  6 14:26:47 olymp postfix/qmgr[11468]: 78BBD2FE89D: removed

Искал ответ в google: "postfix virtual hosts"
Я запутался в параметрах - подскажите путь

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "postfix and two virtual hosts"  +/
Сообщение от PavelR (ok) on 06-Сен-11, 16:31 

> Искал ответ в google: "postfix virtual hosts"
> Я запутался в параметрах - подскажите путь

Путь прост - быть внимательным.

Sep  6 14:26:27 olymp postfix/trivial-rewrite[11474]: warning: do not list domain DDD.CCC.BBB.AAA in BOTH mydestination and virtual_mailbox_domains

Попробуйте это перевести.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "postfix and two virtual hosts"  +/
Сообщение от handler2006 email(ok) on 06-Сен-11, 16:43 
Ok.
delete from virtual_domains  DDD.CCC.BBB.AAA
send letter again:

Sep  6 15:39:54 olymp postfix/smtpd[11833]: connect from web01.mi6.kiev.ua[91.198.36.2]
Sep  6 15:39:54 olymp postfix/smtpd[11833]: NOQUEUE: reject: RCPT from web01.mi6.kiev.ua[91.198.36.2]: 554 5.7.1 <user@DDD.CCC.BBB.AAA>: Relay access denied; from=<handler@ua.fm> to=<user@DDD.CCC.BBB.AAA> proto=ESMTP helo=<web01.mi6.kiev.ua>
Sep  6 15:39:55 olymp postfix/smtpd[11833]: disconnect from web01.mi6.kiev.ua[91.198.36.2]

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "postfix and two virtual hosts"  +/
Сообщение от handler2006 email(ok) on 06-Сен-11, 16:49 
remove mydestination = virtual_domains from main.cf
return virtual_domains file to begin
send letter:

Sep  6 15:45:06 olymp postfix/smtpd[11957]: connect from web01.mi6.kiev.ua[91.198.36.2]
Sep  6 15:45:06 olymp postfix/smtpd[11957]: F02E42FE898: client=web01.mi6.kiev.ua[91.198.36.2]
Sep  6 15:45:06 olymp postfix/cleanup[11961]: F02E42FE898: message-id=<E1R0v1W-0004tZ-9v@st06.mi6.kiev.ua>
Sep  6 15:45:07 olymp postfix/qmgr[11948]: F02E42FE898: from=<handler@ua.fm>, size=1396, nrcpt=1 (queue active)
Sep  6 15:45:07 olymp postfix/smtp[11962]: connect to mail.nic.BBB.AAA[2001:470:1f0b:1c94::2]:25: Network is unreachable
Sep  6 15:45:07 olymp postfix/smtpd[11957]: disconnect from web01.mi6.kiev.ua[91.198.36.2]
Sep  6 15:45:27 olymp postfix/smtp[11962]: F02E42FE898: to=<user@BBB.AAA>, orig_to=<user@DDD.CCC.BBB.AAA>, relay=mail.nic.BBB.AAA[195.24.128.68]:25, delay=20, delays=0.04/0.01/0.03/20, dsn=5.0.0, status=bounced (host mail.nic.BBB.AAA[195.24.128.68] said: 550 user unknown (in reply to RCPT TO command))
Sep  6 15:45:27 olymp postfix/cleanup[11961]: 143792FE89D: message-id=<20110906124527.143792FE89D@EEE.BBB.AAA>
Sep  6 15:45:27 olymp postfix/bounce[11963]: F02E42FE898: sender non-delivery notification: 143792FE89D
Sep  6 15:45:27 olymp postfix/qmgr[11948]: 143792FE89D: from=<>, size=3220, nrcpt=1 (queue active)
Sep  6 15:45:27 olymp postfix/qmgr[11948]: F02E42FE898: removed
Sep  6 15:45:27 olymp postfix/smtp[11962]: 143792FE89D: to=<handler@ua.fm>, relay=mx5.ua.fm[91.198.36.54]:25, delay=0.49, delays=0.01/0/0.35/0.14, dsn=2.0.0, status=sent (250 OK id=1R0v1r-0005Dg-HJ)
Sep  6 15:45:27 olymp postfix/qmgr[11948]: 143792FE89D: removed

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "postfix and two virtual hosts"  +/
Сообщение от LSTemp (ok) on 07-Сен-11, 05:23 
> Ok.
> delete from virtual_domains  DDD.CCC.BBB.AAA
> send letter again:

хреново перевел.

> Sep  6 15:39:54 olymp postfix/smtpd[11833]: connect from web01.mi6.kiev.ua[91.198.36.2]
> Sep  6 15:39:54 olymp postfix/smtpd[11833]: NOQUEUE: reject: RCPT from web01.mi6.kiev.ua[91.198.36.2]:
> 554 5.7.1 <user@DDD.CCC.BBB.AAA>: Relay access denied; from=<handler@ua.fm> to=<user@DDD.CCC.BBB.AAA>
> proto=ESMTP helo=<web01.mi6.kiev.ua>
> Sep  6 15:39:55 olymp postfix/smtpd[11833]: disconnect from web01.mi6.kiev.ua[91.198.36.2]

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "postfix and two virtual hosts"  +/
Сообщение от handler2006 email(ok) on 07-Сен-11, 09:41 
Хорошо, поступим иначе.
Я удалил из конфигурационного файла все, что касается доменов и виртуальных, в частности:

main.cf:
  1 queue_directory = /var/spool/postfix
  2 command_directory = /usr/sbin
  3 daemon_directory = /usr/libexec/postfix
  4 data_directory = /var/lib/postfix
  5 mail_owner = postfix
  6 myorigin = $mydomain
  7 inet_interfaces = all
  8 inet_protocols = all
  9 unknown_local_recipient_reject_code = 550
10 alias_maps = hash:/etc/aliases
11 alias_database = hash:/etc/aliases
12 mail_spool_directory = /var/spool/mail
13 debug_peer_level = 2
14 debugger_command =
15          PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
16          ddd $daemon_directory/$process_name $process_id &     sleep 5
17 sendmail_path = /usr/sbin/sendmail.postfix
18 newaliases_path = /usr/bin/newaliases.postfix
19 setgid_group = postdrop
20 html_directory = no
21 manpage_directory = /usr/share/man
22 sample_directory = /usr/share/doc/postfix-2.7.0/samples
23 readme_directory = /usr/share/doc/postfix-2.7.0/README_FIL    ES
24 mailbox_size_limit = 0

Почта работает, но почему?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "postfix and two virtual hosts"  +/
Сообщение от handler2006 email(ok) on 14-Сен-11, 13:40 
Давайте обсудим все по-порядку вместе.
1. В конфигурационном файле postfix main.cf ничего не сказано ни об имени хоста, ни о домене. Таким образом, postfix вообще ничего не делает с резольвингом - просто принимает и отправляет почту. На хост же почта попадает благодаря DNS провайдера - он просто без разбора перенаправляет нам все, что соответствует нашим записям в таблице DNS. Хотя, насчет postfix я, скорее всего, ошибаюсь: он берет имя хоста и домен из системы(файл или переменные окружения).
2. Добавляю в конфигурационный файл main.cf  запись:
mydestination $myhostname another_domain.com
Теперь я могу принимать почту на оба хоста, но уходят письма только с адреса user@myhostname. А мне нужно, чтобы почта приходила-уходила с/на разные хосты.

3. Добавляю запись:
virtual_alias_maps = hash:/etc/postfix/virtual_addresses

/etc/postfix/virtual_addresses:
user@another_domain.com user

postmap /etc/postfix/virtual_address

После этих изменений почта на альтернативный адрес не приходит, в логи пишет: network is unreachable.

Почему?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "postfix and two virtual hosts"  +/
Сообщение от PavelR (??) on 17-Сен-11, 08:37 

> После этих изменений почта на альтернативный адрес не приходит, в логи пишет:
> network is unreachable.

В какие такие логи? Полный вывод.?

> Почему?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "postfix and two virtual hosts"  +/
Сообщение от PavelR (??) on 17-Сен-11, 08:53 
> Давайте обсудим все по-порядку вместе.
> 1. В конфигурационном файле postfix main.cf ничего не сказано ни об имени
> хоста, ни о домене. Таким образом, postfix вообще ничего не делает
> с резольвингом - просто принимает и отправляет почту. На хост же
> почта попадает благодаря DNS провайдера - он просто без разбора перенаправляет
> нам все, что соответствует нашим записям в таблице DNS. Хотя, насчет
> postfix я, скорее всего, ошибаюсь: он берет имя хоста и домен
> из системы(файл или переменные окружения).

На хост почта падает, потому что так указано в DNS.
Далее, почтарь должен понять, ему эта почта или не ему.
Если получатель находится либо в mydestinations либо в virtual_mailbox_domains, то тогда почтарь понимает что эта почта ему, и принимает её. Дальше, она пойдет либо на local_transport либо на virtual_transport, в зависимости от того, где получатель найден.

Если почта "не ему", то это значит что почтарь пытаются использовать как релей.
И это уже другой случай, который неправильно классифицируется как "но уходят письма только с адреса user@myhostname". Авторизация разрешения отправки почты на основе адреса отправителя - верный путь быть открытым релеем.

Отправка почты почтовым клиентом, или отправка с другого хоста типа "connect from web01.mi6.kiev.ua" - это всё попытка релея.

Далее, почтарь думает, а надо ли оно ему, пересылать (aka релеить) эту почту.
В частности, он может посмотреть в relay_domains с целью найти там домен получателя письма, которое пытаются переслать.

Но, в общем случае, это всё (и прием локальной почты и прием почты на релей) руководствуется  настройками smtpd_recipient_restrictions/smtpd_client_restrictions/smtpd_*_restrictions.
Именно правило reject_unauth_destination и проверяет значения relay_domains,mydestination,virtual_alias_domains,virtual_mailbox_domains,inet_interfaces,proxy_interfaces и т п.
И именно вставкой перед этим правилом правила check_client_access hash:/etc/postfix/access можно добиваться, к примеру, открытия релея для определенных айпишников по списку, или добавлением permit_mynetworks - открытия релея для mynetworks,
или добавлением permit_sasl_authenticated - разрешения отправки почты авторизованным клиентам.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру