satyricon13
07-11-2012, 11:20
Добрый день товарищи!
Помогите с вопросом, а то уже мозг взрывается.
Доменное имя одно общее.
Два почтовика, MX наивысший приоритет в ДНС у Exchange, дальше идет почтовик провайдера.
В Exchange политика адресов, совпадает с правилами на почтовике у провайдера.
В Exchange еще закручена привязка адреса к именовании организации.
Например на серваке провайдера есть юзер ivanov@test.ru, в Exchange он имеет такой же адрес (Политика именования адресов по псевдониму). Если у юзера добавлен ящик в Exchange и указана определенная организация, то политика адреса применяется и он получает почту на Exchange.
Если у юзера нет ящика в Exchange или не указана организация, то политика не применяется и письмо посылаемое юзеру пересылается на почтовик провайдера mail.test.ru
Итого мы имеем:
1. Почтовый домен, на нем настроена провайдерская почта (FreeBSD, Squriel Mail). Около 120 ящиков.
2. На виртуальной машине в сети организации поднят Exchange 2010, сконфигурированы два коннектора получения по командам:
первый -
New-ReceiveConnector -Name Inet -Usage Internet -Bindings 0.0.0.0:25 -Server server_name
Get-ReceiveConnector -Identity 'server_name\Receive_From_Inet' | Remove-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights 'ms-Exch-SMTP-Accept-Authoritative-Domain-Sender'
второй -
New-ReceiveConnector -Name Receive_From_Local -Usage Client -Bindings 0.0.0.0:25 -RemoteIPRanges 192.168.0.1-192.168.0.254 -Server server_name
Get-ReceiveConnector -Identity 'server_name\Receive_From_Local' | Add-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights 'ms-Exch-SMTP-Accept-Any-Recipient'
Get-ReceiveConnector -Identity 'server_name\Receive_From_Local' | Set-ReceiveConnector -AuthMechanism 'Tls, Integrated, BasicAuth, BasicAuthRequireTLS, ExchangeServer' -PermissionGroups 'ExchangeUsers, ExchangeServers, ExchangeLegacyServers, Partners'
потом было выполнено
Set-ReceiveConnector -PermissionGroups 'AnonymousUsers, ExchangeUsers, ExchangeServers, ExchangeLegacyServers' -Identity 'server_name\Local'
и
Get-ReceiveConnector “server_name\Inet” | Get-ADPermission -user “NT AUTHORITY\Anonymous Logon” | where {$_.ExtendedRights -like “ms-exch-smtp-accept-authoritative-domain-sender”} | Remove-ADPermission
В коннекторах отправки один коннектор настроен на адресное пространство test.ru и пересылкой на сервер mail.test.ru
Второй коннектор на адресное пространство * и использует маршрутизацию MX.
Третий коннектор:
Галка на "Анонимные пользователи" на этом коннекторе стоит.
[PS] C:\Windows\system32>New-ReceiveConnector -Name prov -Usage Internet -Bindings 141.101.175.20:25 -Server MAIL
Identity Bindings Enabled
-------- -------- -------
MAIL\prov {141.101.175.20:25} True
PROV - для пересылки провайдеру,
локальные адреса стоит * 25 порт, удаленные адреса - адрес почтовика провайдера.
галка в разрешениеях на "Анонимные пользователи" установлена.
INET - для инета, LOCAL - для локалки.
Так вот
Все ходит везде отлично, кроме одного направления.
От юзера с почтовика провайдера на ящик юзера Exchange не уходит письмо, а приходит ответ 550 Unknow user. Причем мгновенно.
Права на коннекторы:
C:\Windows\system32>Get-ReceiveConnector | Get-ADPermission -user "NT AUTHORITY\АНОНИМНЫЙ ВХОД"
Identity User Deny Inherited
-------- ---- ---- ---------
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False False
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
Команда для вывода анонимом.
[PS] C:\Windows\system32>Get-ReceiveConnector PROV | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"}
|where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Recipient
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Accept-Headers-Routing
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Submit
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
[PS] C:\Windows\system32>Get-ReceiveConnector INET | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"}
|where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Accept-Headers-Routing
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Submit
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
[PS] C:\Windows\system32>Get-ReceiveConnector LOCAL | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"
} |where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Recipient
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
В логах коннектор PROV вообще не фигурирует, хотя логирование включено.
Помогите с вопросом, а то уже мозг взрывается.
Доменное имя одно общее.
Два почтовика, MX наивысший приоритет в ДНС у Exchange, дальше идет почтовик провайдера.
В Exchange политика адресов, совпадает с правилами на почтовике у провайдера.
В Exchange еще закручена привязка адреса к именовании организации.
Например на серваке провайдера есть юзер ivanov@test.ru, в Exchange он имеет такой же адрес (Политика именования адресов по псевдониму). Если у юзера добавлен ящик в Exchange и указана определенная организация, то политика адреса применяется и он получает почту на Exchange.
Если у юзера нет ящика в Exchange или не указана организация, то политика не применяется и письмо посылаемое юзеру пересылается на почтовик провайдера mail.test.ru
Итого мы имеем:
1. Почтовый домен, на нем настроена провайдерская почта (FreeBSD, Squriel Mail). Около 120 ящиков.
2. На виртуальной машине в сети организации поднят Exchange 2010, сконфигурированы два коннектора получения по командам:
первый -
New-ReceiveConnector -Name Inet -Usage Internet -Bindings 0.0.0.0:25 -Server server_name
Get-ReceiveConnector -Identity 'server_name\Receive_From_Inet' | Remove-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights 'ms-Exch-SMTP-Accept-Authoritative-Domain-Sender'
второй -
New-ReceiveConnector -Name Receive_From_Local -Usage Client -Bindings 0.0.0.0:25 -RemoteIPRanges 192.168.0.1-192.168.0.254 -Server server_name
Get-ReceiveConnector -Identity 'server_name\Receive_From_Local' | Add-ADPermission -User 'NT AUTHORITY\Anonymous Logon' -ExtendedRights 'ms-Exch-SMTP-Accept-Any-Recipient'
Get-ReceiveConnector -Identity 'server_name\Receive_From_Local' | Set-ReceiveConnector -AuthMechanism 'Tls, Integrated, BasicAuth, BasicAuthRequireTLS, ExchangeServer' -PermissionGroups 'ExchangeUsers, ExchangeServers, ExchangeLegacyServers, Partners'
потом было выполнено
Set-ReceiveConnector -PermissionGroups 'AnonymousUsers, ExchangeUsers, ExchangeServers, ExchangeLegacyServers' -Identity 'server_name\Local'
и
Get-ReceiveConnector “server_name\Inet” | Get-ADPermission -user “NT AUTHORITY\Anonymous Logon” | where {$_.ExtendedRights -like “ms-exch-smtp-accept-authoritative-domain-sender”} | Remove-ADPermission
В коннекторах отправки один коннектор настроен на адресное пространство test.ru и пересылкой на сервер mail.test.ru
Второй коннектор на адресное пространство * и использует маршрутизацию MX.
Третий коннектор:
Галка на "Анонимные пользователи" на этом коннекторе стоит.
[PS] C:\Windows\system32>New-ReceiveConnector -Name prov -Usage Internet -Bindings 141.101.175.20:25 -Server MAIL
Identity Bindings Enabled
-------- -------- -------
MAIL\prov {141.101.175.20:25} True
PROV - для пересылки провайдеру,
локальные адреса стоит * 25 порт, удаленные адреса - адрес почтовика провайдера.
галка в разрешениеях на "Анонимные пользователи" установлена.
INET - для инета, LOCAL - для локалки.
Так вот
Все ходит везде отлично, кроме одного направления.
От юзера с почтовика провайдера на ящик юзера Exchange не уходит письмо, а приходит ответ 550 Unknow user. Причем мгновенно.
Права на коннекторы:
C:\Windows\system32>Get-ReceiveConnector | Get-ADPermission -user "NT AUTHORITY\АНОНИМНЫЙ ВХОД"
Identity User Deny Inherited
-------- ---- ---- ---------
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False False
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Inet NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False False
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\Local NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False False
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
MAIL\for_prov NT AUTHORITY\АНОН... False True
Команда для вывода анонимом.
[PS] C:\Windows\system32>Get-ReceiveConnector PROV | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"}
|where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Recipient
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Accept-Headers-Routing
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Submit
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
[PS] C:\Windows\system32>Get-ReceiveConnector INET | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"}
|where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Sender
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Accept-Headers-Routing
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Submit
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
[PS] C:\Windows\system32>Get-ReceiveConnector LOCAL | Get-ADPermission | where {$_.User.SecurityIdentifier -eq "S-1-5-7"
} |where {$_.AccessRights -contains "ExtendedRight"} | foreach {$_.User.toString()+" "+$_.Deny+" "+$_.ExtendedRights}
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-SMTP-Accept-Any-Recipient
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Store-Create-Named-Properties
NT AUTHORITY\АНОНИМНЫЙ ВХОД False ms-Exch-Create-Public-Folder
В логах коннектор PROV вообще не фигурирует, хотя логирование включено.