postfix: virtual_alias_domains не работают

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bitman
рядовой
Сообщения: 38
Зарегистрирован: 2008-08-29 14:35:29

postfix: virtual_alias_domains не работают

Непрочитанное сообщение bitman » 2012-08-08 16:18:00

Привет.
Помогите, плиз, выйти из 3-х сосен.
Раньше я успешно настрАивал postfix - с виртуальными доменами и пользователями в mysql (virtual_mailbox_domains + virtual_mailbox_maps). Последний раз - больше года назад (и, в принципе, кое-что мог подзабыть).

Теперь под новую задачу больше подходит схема с виртуальными доменными алиасами (virtual_alias_domains + virtual_alias_maps) и локальными UNIX-пользователями из PAM.

Туча мануалов говорят об одном и том-же:
http://www.postfix.org/VIRTUAL_README.h ... tual_alias
Postfix virtual ALIAS example: separate domains, UNIX system accounts
With the approach described in this section, every hosted domain can have its own info etc. email address. However, it still uses UNIX system accounts for local mailbox deliveries.
With virtual alias domains, each hosted address is aliased to a local UNIX system account or to a remote address. The example below shows how to use this mechanism for the example.com domain.

Код: Выделить всё

 1 /etc/postfix/main.cf:
 2     virtual_alias_domains = example.com ...other hosted domains...
 3     virtual_alias_maps = hash:/etc/postfix/virtual
 4 
 5 /etc/postfix/virtual:
 6     postmaster@example.com postmaster
 7     info@example.com       joe
 8     sales@example.com      jane
 9     # Uncomment entry below to implement a catch-all address
10     # @example.com         jim
11     ...virtual aliases for more domains...
Notes:
* Line 2: the virtual_alias_domains setting tells Postfix that example.com is a so-called virtual alias domain. If you omit this setting then Postfix will reject mail (relay access denied) or will not be able to deliver it (mail for example.com loops back to myself).
NEVER list a virtual alias domain name as a mydestination domain!
* Lines 3-8: the /etc/postfix/virtual file contains the virtual aliases. With the example above, mail for postmaster@example.com goes to the local postmaster, while mail for info@example.com goes to the UNIX account joe, and mail for sales@example.com goes to the UNIX account jane. Mail for all other addresses in example.com is rejected with the error message "User unknown".
* Line 10: the commented out entry (text after #) shows how one would implement a catch-all virtual alias that receives mail for every example.com address not listed in the virtual alias file. This is not without risk. Spammers nowadays try to send mail from (or mail to) every possible name that they can think of. A catch-all mailbox is likely to receive many spam messages, and many bounces for spam messages that were sent in the name of anything@example.com.
Execute the command "postmap /etc/postfix/virtual" after changing the virtual file, and execute the command "postfix reload" after changing the main.cf file.
Note: virtual aliases can resolve to a local address or to a remote address, or both. They don't have to resolve to UNIX system accounts on your machine.
More details about the virtual alias file are given in the virtual(5) manual page, including multiple addresses on the right-hand side.
Virtual aliasing solves one problem: it allows each domain to have its own info mail address. But there still is one drawback: each virtual address is aliased to a UNIX system account. As you add more virtual addresses you also add more UNIX system accounts. The next section eliminates this problem.
Казалось бы - что может быть проще?
А, вот, что-то не так: юзеры из основного домена работают, а из доменов-алиасов - не хотят :(
/var/log/maillog:

Код: Выделить всё

Aug  8 16:02:18 mail postfix/error ... to=<bitman@alias-domain.kiev.ua>, relay=none, delay=281817, delays=281816/0.05/0/0, dsn=4.0.0, status=SOFTBOUNCE (User unknown)
Aug  8 16:02:18 mail postfix/error ... to=<it5@alias-domain.kiev.ua>, relay=none, delay=93834, delays=93834/0.05/0/0.01, dsn=4.0.0, status=SOFTBOUNCE (User unknown)
/usr/local/etc/postfix/main.cf:

Код: Выделить всё

myhostname = mail.domain.kiev.ua
myorigin = $mydomain
mydestination = $maydestination, $mydomain
alias_maps = hash:$config_dir/$local_lookup_dir/local_aliases
inet_protocols = ipv4
inet_interfaces = 99.99.99.99 192.168.10.13
mynetworks = 127.0.0.0/8
relay_domains =
virtual_alias_domains = $config_dir/$local_lookup_dir/local_virtual_domains
#virtual_alias_domains = alias-domain.kiev.ua
virtual_alias_maps = hash:$config_dir/$local_lookup_dir/local_virtual_aliases
Помогите, кто чем может? ?)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
bitman
рядовой
Сообщения: 38
Зарегистрирован: 2008-08-29 14:35:29

Re: postfix: virtual_alias_domains не работают

Непрочитанное сообщение bitman » 2012-08-09 12:32:49

1. заметил опечатку (которая к теме не относится, но все же), исправил:
mydestination = $maydestination, $mydomain
2. В домашней папке root'а вчера появился почтовый ящик (с какого перепугу?), в него пошли письма от cron'а. Что интересно: письма идут от root@domain.kiev.ua на root@domain.kiev.ua (а не root@mail.domain.kiev.ua). Сервер заведен в домен, звучит как mail.domain.kiev.ua, Но учетка рута к домену не имеет никакого отношения - только локально. Это нормально, или все-таки косяк?

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: postfix: virtual_alias_domains не работают

Непрочитанное сообщение ivan__ » 2012-08-09 20:51:16

bitman писал(а): 2. В домашней папке root'а вчера появился почтовый ящик (с какого перепугу?), в него пошли письма от cron'а. Что интересно: письма идут от root@domain.kiev.ua на root@domain.kiev.ua (а не root@mail.domain.kiev.ua). Сервер заведен в домен, звучит как mail.domain.kiev.ua, Но учетка рута к домену не имеет никакого отношения - только локально. Это нормально, или все-таки косяк?
bitman писал(а):

Код: Выделить всё

myhostname = mail.domain.kiev.ua
myorigin = $mydomain
mydomain = все что после первой точки myhostname = domain.kiev.ua

Аватара пользователя
bitman
рядовой
Сообщения: 38
Зарегистрирован: 2008-08-29 14:35:29

Re: postfix: virtual_alias_domains не работают

Непрочитанное сообщение bitman » 2012-08-10 12:18:33

http://www.postfix.org/postconf.5.html#mydomain:
mydomain (default: see "postconf -d" output)
The internet domain name of this mail system. The default is to use $myhostname minus the first component, or "localdomain" (Postfix 2.3 and later). $mydomain is used as a default value for many other configuration parameters.
Example:
mydomain = domain.tld
postconf -d отрабатывает нормально.
Если бы я не указал имя хоста - тогда другое дело, а так postfix умеет сам вычислить имя домена.

А служебные (системные) отчеты должны направляться локальному руту, а не руту машины более верхнего уровня домена. Ведь так?

2. Когда отключаю список virtual_alias_domains, почтовик сразу письма перенаправляет на основную машину (которую и нужно заменить postfix-ом) - т.е. доменные алиасы читАются.
Когда в virtual_alias_maps прописываю поиск с помощью ldap, пишет, что ищет. Значит, алиасы ящиков тоже читаются.
Проверяем синтаксис файла алиасов:

Код: Выделить всё

postmap -q "ключ_для_поиска" virtual_aliases
Результат - ОК, выдает то, что ожидается (имена юзеров, которые есть в AD).

Напрашиваются выводы - не работает что-то ПОСЛЕ поиска алиасов? Нужно ли мне еще явно указывать что-то вроде virtual_mailbox_maps? Или проблема в PAM?
Вот, кстати, /etc/pam.d/system:

Код: Выделить всё

auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
#auth           sufficient      pam_krb5.so             no_warn try_first_pass
auth            sufficient      /usr/local/lib/pam_winbind.so
auth            required        pam_unix.so             no_warn try_first_pass n
#account        required        pam_krb5.so
account         sufficient      /usr/local/lib/pam_winbind.so
account         required        pam_login_access.so
account         required        pam_unix.so
#session        optional        pam_ssh.so              want_agent
session         required        /usr/local/lib/pam_mkhomedir.so skel=/usr/share/skel
session         required        pam_lastlog.so          no_fail
#password       sufficient      pam_krb5.so             no_warn try_first_pass
password        sufficient      /usr/local/lib/pam_winbind.so
password        required        pam_unix.so             no_warn try_first_pass
/etc/pam.d/other не менял
/etc/pam.d/passwd:

Код: Выделить всё

#password       requisite       pam_passwdqc.so         enforce=users
password        sufficient      /usr/local/lib/pam_winbind.so
password        required        pam_unix.so             no_warn try_first_pass ...
Кажется, решение должно быть где-то здесь... При авторизации сервисов ssh, smtp, pop3,imap доменные пользователи идут "в куче" с локальными, а при поиске именно локальных пользователей (в system) наверное надо что-то допилить...
Мысли есть?

Аватара пользователя
bitman
рядовой
Сообщения: 38
Зарегистрирован: 2008-08-29 14:35:29

Re: postfix: virtual_alias_domains не работают

Непрочитанное сообщение bitman » 2012-08-10 16:14:25

Если пойти "с другой стороны":

Код: Выделить всё

# id it5
uid=10000(it5) gid=10011(domain users) groups=10011(domain users),10015(domain admins)
# id root
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
- отрабатывает нормально.
Остается одна мысль - где-то недообрабатывается соответствие алиасов и реальных имен?

Аватара пользователя
bitman
рядовой
Сообщения: 38
Зарегистрирован: 2008-08-29 14:35:29

Re: postfix: virtual_alias_domains не работают

Непрочитанное сообщение bitman » 2012-08-13 13:16:44

Все, извините, сам ступил:

в конфиге осталась опция от старой конфигурации:

receive_override_options = no_address_mappings.

*лин, ну хорошо, хоть разобрался :)