IT-Service / ITG.Yandex.DnsServer

Модуль, предлагающий командлеты по аналогии с модулем DnsServer, но для DNS серверов Яндекс
2 stars 1 forks source link

Добавить командлет для создания записей, обеспечивающих поддержку exchange autodiscovery #7

Open sergey-s-betke opened 11 years ago

sergey-s-betke commented 11 years ago

Полезно будет практически для любых клиентов, в том числе - и для встроенного почтового клиента в Windows 8.

sergey-s-betke commented 11 years ago

Суть в том, что настройка автообнаружения требует не только и не столько настройки dns, сколько IIS сайта. Посему изменений в модуль вносить смысла большого не вижу Более менее подробно формат ответа сервера описан здесь: http://technet.microsoft.com/ru-ru/library/cc511507.aspx

sergey-s-betke commented 11 years ago

Создание необходимых записей в DNS в моём случае выглядит приблизительно так:

Add-DnsServerResourceRecordCName `
    -Name 'autodiscover' `
    -HostAliasName 'gate' `
;
Add-DnsServerResourceRecordSRV `
    -Name '_autodiscover._tcp' `
    -Server 'autodiscover' `
    -Port 443 `
;

Теперь необходимо:

Начну с последнего, создам файл под наш домен.

sergey-s-betke commented 11 years ago

Настройка почтовых клиентов для Яндекса описана здесь: http://help.yandex.ru/mail/mail-clients.xml.

sergey-s-betke commented 11 years ago

В итоге, записи в DNS поправил следующим образом:

Remove-DnsServerResourceRecord -Name 'autodiscover' -RRType CNAME;
Add-DnsServerResourceRecordCName -Name 'autodiscover' -HostAliasName 'gate';
Remove-DnsServerResourceRecord -Name '_autodiscover._tcp' -RRType SRV;
Add-DnsServerResourceRecordSRV -Name '_autodiscover._tcp' -Server 'autodiscover' -Port 443;

Remove-DnsServerResourceRecord -Name 'imap' -RRType CNAME;
Add-DnsServerResourceRecordCName -Name 'imap' -HostAliasName 'imap.yandex.ru.';
Remove-DnsServerResourceRecord -Name '_imap._tcp' -RRType SRV;
Add-DnsServerResourceRecordSRV -Name '_imap._tcp' -Server 'imap' -Port 993;

Remove-DnsServerResourceRecord -Name 'pop3' -RRType CNAME;
Add-DnsServerResourceRecordCName -Name 'pop3' -HostAliasName 'pop.yandex.ru.';
Remove-DnsServerResourceRecord -Name '_pop3._tcp' -RRType SRV;
Add-DnsServerResourceRecordSRV -Name '_pop3._tcp' -Server 'pop3' -Port 995;

Remove-DnsServerResourceRecord -Name 'smtp' -RRType CNAME;
Add-DnsServerResourceRecordCName -Name 'smtp' -HostAliasName 'smtp.yandex.ru.';
Remove-DnsServerResourceRecord -Name '_smtp._tcp' -RRType SRV;
Add-DnsServerResourceRecordSRV -Name '_smtp._tcp' -Server 'smtp' -Port 465;

Сам же файл autodiscover.xml:

<?xml version="1.0" encoding="utf-8" ?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <Account>
        <AccountType>email</AccountType>
        <Action>settings</Action>
        <Protocol>
            <Type>IMAP</Type>
            <Server>imap.csm.nov.ru</Server>
            <Port>993</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>on</SSL>
            <AuthRequired>on</AuthRequired>
        </Protocol>
        <Protocol>
            <Type>IMAP</Type>
            <Server>imap.csm.nov.ru</Server>
            <Port>143</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>off</SSL>
            <AuthRequired>on</AuthRequired>
        </Protocol>
        <Protocol>
            <Type>POP3</Type>
            <Server>pop3.csm.nov.ru</Server>
            <Port>995</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>on</SSL>
            <AuthRequired>on</AuthRequired>
        </Protocol>
        <Protocol>
            <Type>POP3</Type>
            <Server>pop3.csm.nov.ru</Server>
            <Port>110</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>off</SSL>
            <AuthRequired>on</AuthRequired>
        </Protocol>
        <Protocol>
            <Type>SMTP</Type>
            <Server>smtp.csm.nov.ru</Server>
            <Port>465</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>on</SSL>
            <AuthRequired>on</AuthRequired>
            <UsePOPAuth>on</UsePOPAuth>
            <SMTPLast>off</SMTPLast>
        </Protocol>
        <Protocol>
            <Type>SMTP</Type>
            <Server>smtp.csm.nov.ru</Server>
            <Port>25</Port>
            <DomainRequired>on</DomainRequired>
            <SPA>off</SPA>
            <SSL>off</SSL>
            <AuthRequired>on</AuthRequired>
            <UsePOPAuth>on</UsePOPAuth>
            <SMTPLast>off</SMTPLast>
        </Protocol>
    </Account>
</Response>
</Autodiscover>

Такую схему с CNAME в dns решил использовать с тем, чтобы облегчить позднее переезд на другие серверы (на Exchange). Придётся поправить только dns, но не файл ответа, что прозрачнее.

sergey-s-betke commented 10 years ago

Насколько я успел разобраться, почтовый клиент Windows 8 использует протокол Exchange autodiscover только в том случае, если при добавлении учётной записи мы выбираем тип "Exchange, Office 365, Outlook.com". Во всех других случаях не вижу я http запросов.

В этом же случае вижу следующий http запрос:

GET http://autodiscover.domain/autodiscover/autodiscover.xml

Но после получения ответа клиент всё продолжает ждать чего-то, последующих запросов я уже не вижу.

sergey-s-betke commented 10 years ago

Имеет смысл в дальнейшем и https://wiki.mozilla.org/Thunderbird:Autoconfiguration изучить.