Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - JohnRD

Страницы: [1]
1
Общий раздел / Re: Postfix + ldap
« : 22 Май 2020, 18:05:39 »
Egor добрый день

так и не смог я избавиться от
transport_maps

оставляю
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf
лог такой
May 22 16:42:57 dom3-gw postfix/qmgr[36274]: warning: connect to transport private/ldap: No such file or directory
May 22 16:42:57 dom3-gw postfix/error[36282]: 2D2676556231: to=<john3@dom3.domain.ru>, relay=none, delay=0.17, delays=0.16/0/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)

оставляю
virtual_transport = hash:/usr/local/etc/postfix/transport
лог такой
May 22 17:12:38 dom3-gw postfix/qmgr[36757]: warning: connect to transport private/hash: No such file or directory
May 22 17:12:38 dom3-gw postfix/error[36759]: 778B76556233: to=<john3@dom3.domain.ru>, relay=none, delay=0.28, delays=0.28/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable)
судя по private/hash и private/ldap  то он видит строку и разницу в ней

убираю обе
transport_maps  = hash:/usr/local/etc/postfix/transportvirtual_transport = hash:/usr/local/etc/postfix/transportвижу такое
May 22 17:21:45 dom3-gw postfix/virtual[36885]: fatal: bad string length 0 < 1: virtual_mailbox_base =
May 22 17:21:46 dom3-gw postfix/master[36876]: warning: process /usr/local/libexec/postfix/virtual pid 36885 exit status 1
May 22 17:21:46 dom3-gw postfix/master[36876]: warning: /usr/local/libexec/postfix/virtual: bad command startup -- throttling
он сразу понимает что нет транспорта совсем

тоесть вот так у меня не работает
# transport_maps = ...
virtual_mailbox_domains = dom3.domain.ru
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap_dom3.corp.local.cf
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf

убрал virtual_transport
изменил transport_maps на ldap c result_format = smtp:[%s] с поиском IP ексченжа
#transport_maps = hash:/usr/local/etc/postfix/transport
transport_maps = ldap:/usr/local/etc/postfix/ldap_transport_map.cf
почта пошла в этот ящик с кастом атрибутом

в ящик без атрибута почта не пошла
May 22 19:05:32 dom3-gw postfix/virtual[37605]: fatal: bad string length 0 < 1: virtual_mailbox_base =
May 22 19:05:33 dom3-gw postfix/master[37594]: warning: process /usr/local/libexec/postfix/virtual pid 37605 exit status 1
May 22 19:05:33 dom3-gw postfix/master[37594]: warning: /usr/local/libexec/postfix/virtual: bad command startup -- throttling


подскажите что я упускаю
посмотрел примеры, либо обе строки transport_maps и virtual_transport либо одна transport_maps

сейчас попробую настроить с relay демоном но боюсь, что transport_maps вылезит все равно, он какой-то дефолтовый тут

postfix postfix-3.5.1_1

root@dom3-gw:/usr/local/etc/postfix # postconf -n
command_directory = /usr/local/sbin
compatibility_level = 2
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
html_directory = /usr/local/share/doc/postfix
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps =
mail_owner = postfix
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 41943040
meta_directory = /usr/local/libexec/postfix
milter_default_action = accept
milter_protocol = 2
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = dom3.domain.ru
myhostname = mail1.dom3.domain.ru
mynetworks = 127.0.0.0/8, 172.16.32.12/32
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
non_smtpd_milters = inet:localhost:12301
proxy_interfaces =
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
relay_domains = $mydestination
relayhost =
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
shlib_directory = /usr/local/lib/postfix
smtpd_client_restrictions = permit_mynetworks, check_client_access hash:/usr/local/etc/postfix/sender_access, reject_unauth_pipelining, reject_unknown_client_hostname, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl.spamhaus.org, reject_rbl_client zen.spamhaus.org, reject_rbl_client aspews.ext.sorbs.net, check_reverse_client_hostname_access pcre:/usr/local/etc/postfix/reverse_hostname_access.pcre
smtpd_discard_ehlo_keywords = silent-discard, dsn
smtpd_etrn_restrictions = permit_mynetworks, reject
smtpd_helo_restrictions = permit_mynetworks, check_helo_access hash:/usr/local/etc/postfix/sender_access, reject_invalid_helo_hostname, reject_unknown_helo_hostname, reject_non_fqdn_helo_hostname
smtpd_milters = inet:localhost:12301
smtpd_recipient_restrictions = check_recipient_access hash:/usr/local/etc/postfix/recipient_access, permit_mynetworks, reject_unauth_destination check_policy_service inet:127.0.0.1:10023
smtpd_sender_restrictions = permit_mynetworks, check_sender_access hash:/usr/local/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unverified_sender, reject_unknown_sender_domain
soft_bounce = no
unknown_local_recipient_reject_code = 550
virtual_mailbox_domains = dom3.domain.ru
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap_dom3.corp.local.cf
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf
root@dom3-gw:/usr/local/etc/postfix #


root@dom3-gw:/usr/local/etc/postfix # postconf | grep transport
address_verify_default_transport = $default_transport
address_verify_local_transport = $local_transport
address_verify_relay_transport = $relay_transport
address_verify_sender_dependent_default_transport_maps = $sender_dependent_default_transport_maps
address_verify_transport_maps = $transport_maps
address_verify_virtual_transport = $virtual_transport
best_mx_transport =
default_transport = smtp
default_transport_rate_delay = 0s
defer_transports =
empty_address_default_transport_maps_lookup_key = <>
error_transport_rate_delay = $default_transport_rate_delay
fallback_transport =
fallback_transport_maps =
lmtp_transport_rate_delay = $default_transport_rate_delay
local_transport = local:$myhostname
local_transport_rate_delay = $default_transport_rate_delay
mailbox_transport =
mailbox_transport_maps =
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 $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions $address_verify_sender_dependent_default_transport_maps $address_verify_sender_dependent_relayhost_maps $address_verify_transport_maps $fallback_transport_maps $lmtp_discard_lhlo_keyword_address_maps $lmtp_pix_workaround_maps $lmtp_sasl_password_maps $lmtp_tls_policy_maps $mailbox_command_maps $mailbox_transport_maps $postscreen_discard_ehlo_keyword_address_maps $rbl_reply_maps $sender_dependent_default_transport_maps $sender_dependent_relayhost_maps $smtp_discard_ehlo_keyword_address_maps $smtp_pix_workaround_maps $smtp_sasl_password_maps $smtp_tls_policy_maps $smtpd_discard_ehlo_keyword_address_maps $smtpd_milter_maps $virtual_gid_maps $virtual_uid_maps
relay_transport = relay
relay_transport_rate_delay = $default_transport_rate_delay
retry_transport_rate_delay = $default_transport_rate_delay
sender_dependent_default_transport_maps =
smtp_transport_rate_delay = $default_transport_rate_delay
transport_maps =
transport_retry_time = 60s
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf
virtual_transport_rate_delay = $default_transport_rate_delay
root@dom3-gw:/usr/local/etc/postfix #


root@dom3-gw:/usr/local/etc/postfix # postconf | grep virtual
address_verify_virtual_transport = $virtual_transport
propagate_unmatched_extensions = canonical, virtual
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 $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions $address_verify_sender_dependent_default_transport_maps $address_verify_sender_dependent_relayhost_maps $address_verify_transport_maps $fallback_transport_maps $lmtp_discard_lhlo_keyword_address_maps $lmtp_pix_workaround_maps $lmtp_sasl_password_maps $lmtp_tls_policy_maps $mailbox_command_maps $mailbox_transport_maps $postscreen_discard_ehlo_keyword_address_maps $rbl_reply_maps $sender_dependent_default_transport_maps $sender_dependent_relayhost_maps $smtp_discard_ehlo_keyword_address_maps $smtp_pix_workaround_maps $smtp_sasl_password_maps $smtp_tls_policy_maps $smtpd_discard_ehlo_keyword_address_maps $smtpd_milter_maps $virtual_gid_maps $virtual_uid_maps
unknown_virtual_alias_reject_code = 550
unknown_virtual_mailbox_reject_code = 550
virtual_alias_address_length_limit = 1000
virtual_alias_domains = $virtual_alias_maps
virtual_alias_expansion_limit = 1000
virtual_alias_maps = $virtual_maps
virtual_alias_recursion_limit = 1000
virtual_delivery_slot_cost = $default_delivery_slot_cost
virtual_delivery_slot_discount = $default_delivery_slot_discount
virtual_delivery_slot_loan = $default_delivery_slot_loan
virtual_delivery_status_filter = $default_delivery_status_filter
virtual_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
virtual_destination_concurrency_limit = $default_destination_concurrency_limit
virtual_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
virtual_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
virtual_destination_rate_delay = $default_destination_rate_delay
virtual_destination_recipient_limit = $default_destination_recipient_limit
virtual_extra_recipient_limit = $default_extra_recipient_limit
virtual_gid_maps =
virtual_initial_destination_concurrency = $initial_destination_concurrency
virtual_mailbox_base =
virtual_mailbox_domains = dom3.domain.ru
virtual_mailbox_limit = 51200000
virtual_mailbox_lock = fcntl, dotlock
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap_dom3.corp.local.cf
virtual_minimum_delivery_slots = $default_minimum_delivery_slots
virtual_minimum_uid = 100
virtual_recipient_limit = $default_recipient_limit
virtual_recipient_refill_delay = $default_recipient_refill_delay
virtual_recipient_refill_limit = $default_recipient_refill_limit
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf
virtual_transport_rate_delay = $default_transport_rate_delay
virtual_uid_maps =
root@dom3-gw:/usr/local/etc/postfix #


root@dom3-gw:/usr/local/etc/postfix # postconf | grep domain
append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}}
default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason}
fast_flush_domains = $relay_domains
maps_rbl_domains =
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = dom3.domain.ru
myorigin = $mydomain
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
relay_domains = $mydestination
relay_domains_reject_code = 554
remote_header_rewrite_domain =
resolve_null_domain = no
resolve_numeric_domain = no
smtpd_sasl_local_domain =
smtpd_sender_restrictions = permit_mynetworks, check_sender_access hash:/usr/local/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unverified_sender, reject_unknown_sender_domain
strict_mime_encoding_domain = no
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = dom3.domain.ru
root@dom3-gw:/usr/local/etc/postfix #


root@dom3-gw:/usr/local/etc/postfix # postconf | grep relay
address_verify_relay_transport = $relay_transport
address_verify_relayhost = $relayhost
address_verify_sender_dependent_relayhost_maps = $sender_dependent_relayhost_maps
empty_address_relayhost_maps_lookup_key = <>
fast_flush_domains = $relay_domains
lmtp_fallback_relay =
luser_relay =
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
relay_clientcerts =
relay_delivery_slot_cost = $default_delivery_slot_cost
relay_delivery_slot_discount = $default_delivery_slot_discount
relay_delivery_slot_loan = $default_delivery_slot_loan
relay_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
relay_destination_concurrency_limit = $default_destination_concurrency_limit
relay_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
relay_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
relay_destination_rate_delay = $default_destination_rate_delay
relay_destination_recipient_limit = $default_destination_recipient_limit
relay_domains = $mydestination
relay_domains_reject_code = 554
relay_extra_recipient_limit = $default_extra_recipient_limit
relay_initial_destination_concurrency = $initial_destination_concurrency
relay_minimum_delivery_slots = $default_minimum_delivery_slots
relay_recipient_limit = $default_recipient_limit
relay_recipient_maps =
relay_recipient_refill_delay = $default_recipient_refill_delay
relay_recipient_refill_limit = $default_recipient_refill_limit
relay_transport = relay
relay_transport_rate_delay = $default_transport_rate_delay
relayhost =
sender_dependent_relayhost_maps =
smtp_fallback_relay = $fallback_relay
smtpd_relay_restrictions = ${{$compatibility_level} < {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}}
unknown_relay_recipient_reject_code = 550
root@dom3-gw:/usr/local/etc/postfix #

попробовал с
relay_domains = dom3.domain.ru
relay_recipient_maps = ldap:/usr/local/etc/postfix/ldap_dom3.corp.local.cf
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf

получил
May 22 22:52:48 be3-gw postfix/relay/smtp[39138]: DE1F76556231: to=<john3@dom3.domain.ru>, relay=none, delay=0.18, delays=0.16/0.01/0.02/0, dsn=5.4.6, status=bounced (mail for dom3.domain.ru loops back to myself)


еще подумал я над вторым "сложным вариантом" с рекурсией

обьект john у которого мы ищем ящик лежит тут
CN=john,OU=Users,OU=DOM3,DC=dom3,DC=corp,DC=local
у него есть атрибут homeMTA c DN CN=Microsoft MTA,CN=DOM3-MSG-01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=CORP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=local

у CN=Microsoft MTA есть атрибут mTALocalDesig который имеет значение в чистом виде с именем сервера DOM3-MSG-01
но проблема в том что CN Microsoft MTA находится в другой ветке CN=Configuration,DC=corp,DC=local
поэтому такой запрос не сработает
server_host = ldap://172.16.32.10
search_base = DC=dom3,DC=corp,DC=local
query_filter = (proxyAddresses=smtp:%s)
result_format = smtp:[%s]
special_result_attribute = homeMTA
result_attribute = mTALocalDesig
вывод такой
root@dom3-gw:/usr/local/etc/postfix # postmap -q john3@dom3.domain.ru ldap:/usr/local/etc/postfix/ldap_transport_map.cf
postmap: warning: dict_ldap_get_values[1]: DN CN=Microsoft MTA,CN=DOM3-MSG-01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=CORP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=local not found, skipping
postmap: warning: dict_ldap_lookup: Had some trouble with entries returned by search: No such object
root@dom3-gw:/usr/local/etc/postfix #

делаю так
server_host = ldap://172.16.32.10
search_base = DC=corp,DC=local
query_filter = (proxyAddresses=smtp:%s)
result_format = smtp:[%s]
special_result_attribute = homeMTA
result_attribute = mTALocalDesig
вывод такой
root@dom3-gw:/usr/local/etc/postfix # postmap -q john3@dom3.domain.ru ldap:/usr/local/etc/postfix/ldap_transport_map.cf
postmap: warning: dict_ldap_lookup: Search error 10: Referral
postmap: fatal: table ldap:/usr/local/etc/postfix/ldap_transport_map.cf: query error: No error: 0
root@dom3-gw:/usr/local/etc/postfix #

обращаюсь к центральному серверу с глобальным каталогом
server_host = ldap://172.16.10.10
search_base = DC=corp,DC=local
query_filter = (proxyAddresses=smtp:%s)
result_format = smtp:[%s]
special_result_attribute = homeMTA
result_attribute = mTALocalDesig
вывод пустой
root@dom3-gw:/usr/local/etc/postfix # postmap -q john3@dom3.domain.ru ldap:/usr/local/etc/postfix/ldap_transport_map.cf
root@dom3-gw:/usr/local/etc/postfix #

где я ошибся?

2
Общий раздел / Re: Postfix + ldap
« : 20 Май 2020, 02:04:25 »
в карте
domain = dom3.domain.ru
убрал почта идет

в конфиге
virtual_mailbox_domains = dom3.domain.ru
выключаю virtual_mailbox_domains
он становится virtual_mailbox_domains = $virtual_mailbox_maps
почта не идет

и в карте и в конфиге одно значение dom3.domain.ru

и еще возник вопрос, достаточным будет вывод из ldap для транспорта
smtp:[172.16.32.12]
по идее нужно так
familia-io@dom3.domain.ru    smtp:[172.16.32.12]

попробовал и так и с email,  сменил транспорт на центральный сервер, получается без дефолтного почта просто не идет а с ним она идет куда там прописано., без участия ldap запроса

выключаю virtual_transport
он становится virtual_transport = virtual
почта идет,
точно пользуется transport_maps



3
Общий раздел / Re: Postfix + ldap
« : 19 Май 2020, 19:58:31 »
Егор спасибо
у ексченжа есть свободные 15 кастом атрибутов в которые можно писать что хочешь, вписал IP

server_host =
        172.16.32.10,
        172.16.32.11
server_port = 3268
timeout = 60
search_base = DC=dom3,DC=corp,DC=local
query_filter = (&(proxyAddresses=smtp:%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(objectClass=user))
result_format = smtp:[%s]
domain = dom3.domain.ru
result_attribute = extensionAttribute1
scope = sub
bind_dn = CN=postfix,OU=Service_Accounts,OU=DOM3,DC=dom3,DC=corp,DC=local
bind_pw = Passw0rd
version = 3
Получил вывод как у вас
root@dom3-gw:/usr/local/etc/postfix # postmap -q john3@dom3.domain.ru ldap:./test.cf
smtp:[172.16.32.12]

но есть вопросы
получается это будет проверять наличие юзера в лдап
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap_corp.local.cf

и это
virtual_transport = ldap:/usr/local/etc/postfix/transport/ldap_transport_map.cf

какова последовательность обработки кто первый virtual_mailbox_maps или virtual_transport

может у virtual_mailbox_maps запрос оставить полный с проверкой на класс обьекта и исключать выключенные.
query_filter = (&(proxyAddresses=smtp:%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(objectClass=user)(objectClass=group)))

а у virtual_transport поменьше
query_filter = proxyAddresses=smtp:%s

и еще
какая цель у транспорта по дефолту, hash:/usr/local/etc/postfix/transport
что там написать? и куда направить? в каком случае он может понадобиться?


попробовал изменить транспорт на ldap
почта идет, далее попробовал на другой адрес у которого нет кастом атрибута, все равно идет, обнаружил следующее
у меня в main.cf   2 параметра транспорта

transport_maps = hash:/usr/local/etc/postfix/transport
и
#virtual_transport = hash:/usr/local/etc/postfix/transport
virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf

выключил первый
#transport_maps = hash:/usr/local/etc/postfix/transport
в логах
relay=none, delay=0.16, delays=0.16/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable

вернул второй
virtual_transport = hash:/usr/local/etc/postfix/transport
#virtual_transport = ldap:/usr/local/etc/postfix/ldap_transport_map.cf

relay=none, delay=0.27, delays=0.26/0/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)

в обоих стаивить ldap ? или как отказаться от
#transport_maps = hash:/usr/local/etc/postfix/transport

4
Общий раздел / Re: Postfix + ldap
« : 17 Май 2020, 16:38:11 »
Егор Спасибо что ответ.
Когда я это строил, разделения на почтовые домены по 3му уровню мне казалось самым простым, я не мог предположить передвижения такого рода, это как правило объединение филиалов в одно юридическое лицо, упразднение начальства, и иногда переезд 1го директора в другой город.
Работа в домене 4, человеку из домена 3, возможна, домены друг друга знают через днс, если это на время то нет проблем, особенно если он со своим ПК приехал, пк и пользователь аунтифицируются в своем родном домене, но есть нюансы, все политики на пк и юзера прилетают с того родного домена, такие как агент касперского отчитывается в тот домен и тащит обновления от туда, настройки прокси сервера указывают на свой родной прокси, клиент 1с который лежит в сети того города и домена, и все это человек тащит с другого города по ведомственному каналу, включая почту, это терпимо и можно отключить на время политики для него, для программ типа клиента 1с, можно переписать путь на клиента в местной сети, прокси переписать на местный итд.
Но когда человек приезжает и сам не знает на сколько, это схоже с переводом военного в другую воинскую часть, то логичнее перевести его пк в местный домен, или выдать ему местный пк, завести новую учетку в этом домене и все ярлыки на программы, прокси  и тд будут ссылаться и будут привязаны к местной сети, вопрос остается с почтой, его почту знают многие контрагенты и понятно то что он ее хочет оставить за собой,
Поступить можно так, в местном Exchange добавить почтовый домен dom3.domain.ru в дополнение к родному dom4.domain.ru для приема человеку его родной почты, а в его родном постфиксе в транспорте дописать строку с IP адресом Exchange который сейчас его обслуживает, и это будет приоритетом.
dom3. domain.ru     smtp:[172.16.32.12]
familia-io@dom3.domain.ru smtp:[172.16.40.12]
и его почта будет приходить к нему через ведомственный канал, в Exchange нового домена с постфикса на который указывает MX, для dom3. domain.ru, так сейчас работает около года один человек.
Иногда получается договориться с человеком, выдать ему новую почту в новом домене, и настроить пересылку всей входящей почты со старого ящика прямо в Exchange, но отправлять он уже будет с новой почты, в надежде что через время все его контакты перейдут на его новый адрес.
В связи с этим в  голове вертится мысль об одном почтовом домене domain.ru
В каждом филиале на каждом Exchange делаю этот домен accepted, как родной
осталось научить постфикс определять где находится почтовый адрес в данный момент чтобы переслать именно в тот город в его домен на Exchange в котором живет его ящик.
И продумать как прописать MX ы в каждом городе, не гнать же всю почту через центр.
Хотя сейчас мобильные клиенты идут именно через центральный офис, через https, у Exchange есть понятие проксирование, центральный Exchange авторизует и конектит к своему серверу уже через ведомственные каналы.

Настройки postfix филиала

main.cf
virtual_mailbox_domains =
        dom3.domain.ru
virtual_mailbox_maps =
        ldap:/usr/local/etc/postfix/ldap_dom3.corp.local.cf
virtual_transport = hash:/usr/local/etc/postfix/transport

transport
dom3.domain.ru     smtp:[172.16.32.12]

ldap_dom3.corp.local.cf
server_host =
        172.16.32.10,
        172.16.32.11
server_port = 3268
timeout = 60
search_base = DC=dom3,DC=corp,DC=local
query_filter = (&(proxyAddresses=smtp:%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(objectClass=user)(objectClass=group)))
result_format = %s
domain = dom3.domain.ru
result_attribute = cn
scope = sub
bind_dn = CN=postfix,OU=Service_Accounts,OU=DOM3,DC=dom3,DC=corp,DC=local
bind_pw = Passw0rd
version = 3

поскольку рутовый домен corp.local содержит копии всех ldap дочерних доменов, то в центральном офисе postfix делает запрос в ldap контроллера домена corp.local
также существует MX для каждого потового домена филиала с меньшим приоритетом и указывает на IP сервер postfix центрального офиса, то центральный postfix может получить для всех дочерних доменов почту проверить в корневом ldap на предмет наличия и отослать в exchange родного домена,
также Exchange любого филиала может и отослать почту через центральный postfix, в случае проблем со своим, через внутренний MX с меньшим приоритетом, прописанный в локальном DNS

настройки postfix центрального офиса

main.cf
virtual_mailbox_domains =
        domain.ru,
        dom2.domain.ru,
        dom3.domain.ru,
        dom4.domain.ru,
        dom5.domain.ru,
        dom6.domain.ru,
        dom7.domain.ru,
        dom8.domain.ru,
        dom9.domain.ru,
        dom10.domain.ru
 virtual_mailbox_maps =
        ldap:/usr/local/etc/postfix/ldap_corp.local.cf
 virtual_transport = hash:/usr/local/etc/postfix/transport

ldap_corp.local.cf
server_host =
        172.16.10.10,
        172.16.10.11
server_port = 3268
timeout = 60
search_base = DC=corp,DC=local
query_filter = (&(proxyAddresses=smtp:%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(objectClass=user)(objectClass=group)))
result_format = %s
domain =
        domain.ru,
        dom2.domain.ru,
        dom3.domain.ru,
        dom4.domain.ru,
        dom5.domain.ru,
        dom6.domain.ru,
        dom7.domain.ru,
        dom8.domain.ru,
        dom9.domain.ru,
        dom10.domain.ru
result_attribute = cn
scope = sub
bind_dn = CN=postfix,OU=Service_Accounts,OU=CORP,DC=corp,DC=local
bind_pw = Passw0rd
version = 3

transport
domain.ru     smtp:[172.16.194.47]
dom2.domain.ru     smtp:[172.16.20.12]
dom3.domain.ru     smtp:[172.16.32.12]
dom4.domain.ru     smtp:[172.16.40.12]
dom5.domain.ru     smtp:[172.16.52.12]
dom6.domain.ru     smtp:[172.16.60.12]
dom7.domain.ru     smtp:[172.16.72.12]
dom8.domain.ru     smtp:[172.16.80.12]
dom9.domain.ru     smtp:[172.16.92.12]
dom10.domain.ru    smtp:[172.16.100.12]

в дополнение
каждый дочерний домен уникальный и у объекта юзер уже есть поля его принадлежности к своему серверу Exchange например запрос поля
homeMTA
выдаст
CN=Microsoft MTA,CN=DOM3-MSG-01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=CORP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=corp,DC=local

CN=DOM3-MSG-01   вот это сервер Exchange в этом филиале


5
Общий раздел / Re: Postfix + ldap
« : 16 Май 2020, 00:56:32 »
Егор добрый день, вечер, а также уважаемые Гуру Postfix

вопрос если можно
у меня сейчас такая конструкция, 10 почтовых доменов в разных городах
центральный domain.ru
филиалы dom2.domain.ru, dom3.domain.ru, dom4.domain.ru, … dom10.domain.ru
В центральном офисе корневой Windows домен corp.local и 1 дочерний dom1.corp.local
В Остальных городах dom2.corp.local … dom10.corp.local
Между центральным офисом и филиалами есть ведомственные каналы,
Между всеми LDAP есть репликация.
Есть общая организация MS Exchange, тоесть все контакты компании доступны каждому работнику в global address list, но в каждом филиале свой Exchange сервер где живут ящики своего филиала.
Почта внутри компании ходит по ведомственным каналам не выходя наружу.
В каждом городе свой postfix является релеем для своего MS Exchange,
Почта с наружи принимается на postfix и проверяется на наличие активного ящика в своем LDAP и пересылается в свой MS Exchange согласно транспорту.
MX записи для доменов филиалов dom2.domain.ru, dom3.domain.ru, dom4.domain.ru, … dom10.domain.ru имеют приоритет 10,
для каждого почтового домена филиала есть MX с приоритетом 20 указывающий на сервер postfix в центральном офисе, чтобы принять почту и отправить ее по ведомственному каналу в филиал.
В центральном офисе postfix проверяет наличие ящика в корневом домене corp.local поскольку этот домен содержит копию всех дочерних LDAP, и далее согласно своему транспорту отправляет на сервер Exchange IP которого там указан.
Проблема начала появляться когда люди начали переезжать из филиала в филиал и работать там.
К примеру: у человека родной почтовый домен dom4.domain.ru он уехал в другой филиал на неизвестное время где свой почтовый домен dom3.domain.ru, он хочет продолжать получать почту  на свой почтовый домен dom4.domain.ru.
Если это временно со своим ноутбуком проблем нет, входит аунтифицируется и работает все идет через внутренний канал, но если надолго логичнее ему дать пк из местного Windows домена, но приходиться делать костыли такие как: разрешать местному Exchange принимать почту для домена другого филиала, править транспорт родного Postfix указывая его родной email и новый сервер Exchange для пересылки
Вот так
domain.ru     smtp:[172.16.194.47]
dom2. domain.ru     smtp:[172.16.20.12]
dom3. domain.ru     smtp:[172.16.32.12]
dom4. domain.ru     smtp:[172.16.40.12]
dom5. domain.ru     smtp:[172.16.52.12]
dom6. domain.ru     smtp:[172.16.60.12]
dom7. domain.ru     smtp:[172.16.72.12]
dom8. domain.ru     smtp:[172.16.80.12]
dom9. domain.ru     smtp:[172.16.92.12]
dom10. domain.ru    smtp:[172.16.100.12]

familia-io@domain.ru smtp:[172.16.72.12]
получается внешняя почта все равно идет через MX родного города и пересылается по внутренним сетям на другой Exchange

от сюда возникает вопрос, можно ли сделать проверку в LDAP не только на наличие ящика но и проверку на предмет где он сейчас находится, в каком LDAP какого домена после чего эту переменную использовать для транспорта чтобы переслать в нужный Exchange того города где он поселился.
И если такое будет возможно можно ли будет отказаться от доменов 3го уровня, выдавая всем domain.ru используя  geo-location?
Заранее благодарен за ответ

Страницы: [1]
Эта страница

Содержание

Новости:
Форум проекта Pro-LDAP.ru
OpenLDAP 2.4 Руководство

Содержание

Введение в службы каталогов OpenLDAPБыстрое развёртывание и начало работыОбщая картина - варианты конфигурацииСборка и установка OpenLDAPНастройка slapd

 

Конфигурационный файл slapdЗапуск slapdКонтроль доступаОграниченияИнструментыМеханизмы манипуляции даннымиНаложенияСпецификация схемы

 

БезопасностьSASLTLSРаспределённая служба каталоговРепликацияОбслуживаниеМониторингПроизводительностьУстранение неполадок
Перевод официального руководства OpenLDAP 2.4 Admin Guide
Полное содержание здесь
LDAP для учёных-ракетчиков

Содержание

О книгеКонцепции LDAPОбъекты LDAPУстановка LDAPПримерыНастройкаРепликация и отсылкиLDIF и DSMLПротоколLDAP API

 

HOWTOНеполадкиПроизводительностьИнструменты LDAPБезопасностьЗаметкиРесурсы LDAPRFC и X.500ГлоссарийОбъекты
Перевод "LDAP for Rocket Scientists"
Полное содержание здесь
Ресурсы

Книги

Руководство OpenLDAP 2.4LDAP для учёных-ракетчиков

Другие

СтатьиТермины LDAPman-страницы OpenLDAP 2.4Список RFCКлиенты LDAPФайлы наборов схемы
Полезные ресурсы
Форум

 

Разделы форумаНепрочитанные сообщенияПоследние сообщения
Форум проекта
Главная

Pro-LDAP.ru

О проектеНовости проектаУчастникиСтаньте участником!Сообщите об ошибке!Об авторских правахСоглашения проекта
Присоединяйсь!