Введение


Для корректной работы 3CX Phone System рекомендуется настроить и использовать так называемую разделенную DNS (Split DNS). Split DNS единообразно представляет сетевые имена узлов (FQDN) во внутренней и внешней сети. Иными словами, сервер 3CX Phone System будет доступен в частной и публичной сети по единому FQDN имени. Такой подход предоставляет ряд преимуществ:
  • обеспечивает единообразную настройку внутренних и внешних подключений к серверу
  • ускоряет перерегистрацию пользователя при переходе из внутренней во внешнюю сеть и наоборот
  • позволяет создать одинаковую конфигурацию для внутренних и внешних пользователей 3CXPhone
  • позволяет администрировать систему, просматривать отчеты и слушать записи разговоров, независимо от расположения пользователя
  • позволяет указывать в IP телефонах единый URL автонастройки, независимо от их расположения

Для успешной настройки Split DNS необходимо соблюдение ряда условий:
  • создание самоподписанного SSL сертификата, либо приобретение доверенного сертификата у аккредитованной компании
  • наличие зарегистрированного доменного имени у доменного регистратора
  • наличие статического IP адреса
  • в вашей внутренней сети должен работать DNS сервер. Это может быть DNS на базе Windows Server или DNS сервер, реализованный в сетевом экране.

Рекомендуется создавать Split DNS до установки сервера 3CX Phone System.

Split DNS создается в два этапа:
  1. Настраивается DNS зона на публичном DNS сервере у регистратора вашего доменного имени – публичное FQDN имя сервера 3CX Phone System
  2. Создается аналогичная зона на внутреннем DNS севере – частное FQDN имя сервера 3CX Phone System

Публичное FQDN имя сервера


Покажем настройку публичного имени сервера на примере регистратора EuroDNS. Для других регистраторов процедура принципиально не отличается.
  1. Зайдите в свою учетную запись
  2. Перейдите в Control Panel > Zone Profiles
    add zone provile - Copy
  3. Нажмите Add Zone Profile
  4. Нажмите Rename Zone Profile и присвойте профилю имя. В этом примере мы использовали example.com. Нажмите Rename, чтобы сохранить имя профиля
  5. Нажмите Add DNS Record и в меню выберите A (IPv4 Address)
    add a record
  6. В поле Host укажите желаемое имя сервера. В нашем примере это pbx
  7. В поле IP Address V4 укажите публичный IP адрес вашего сервера 3CX Phone System
  8. Поле TTL оставьте по умолчанию 3600
  9. Для сохранения настроек нажмите ?. A-запись (ваше FQDN имя сервера) pbx.example.com будет создана. Через некоторое время, которое может занять до 24 часов, ваше публичное FQDN имя сервера будет преобразовываться в публичный IP адрес.

Чтобы протестировать корректность настройки публичного FQDN имени, в командной строке введите nslookup pbx.example.com. Команду нужно выполнять на компьютере, находящемся во внешней сети. В ответ вы должны получить внешний IP адрес сервера 3CX.

Частное FQDN имя сервера


Покажем, как настроить частное FQDN имя на DNS сервере, расположенном во внутренней сети вашей компании. Пример основан на DNS сервере Windows 2012 R2 и предполагает, что сервер настраивается с нуля.

Включение роли DNS


add roles
  1. Запустите Server Manager
  2. В правом верхнем углу окна Server Manager нажмите Manage и из выпадающего меню выберите Add Roles and Features
  3. В окне мастера Add Roles and Features Wizard нажмите Next
  4. Оставьте опцию по умолчанию Role-based or feature-based installation и нажмите Next
  5. Выберите сервер, которому нужно назначить новую роль и нажмите Next
  6. В списке выберите DNS Server. В появившемся диалоговом окне оставьте значения по умолчанию, нажмите Add Features и Next
  7. На странице Features нажмите Next
  8. На странице DNS Server нажмите Next
  9. Нажмите Install
  10. По окончании установки нажмите Close

После добавления роли DNS сервера создайте Split DNS зону и записи в ней.

Добавление новой зоны



Новая зона создается в оснастке Server Manager:
  1. В правом верхнем углу оснастки выберите Tools и в выпадающем меню DNS
  2. Откроется DNS manager. Кликните правой кнопкой мыши по имени сервера и выберите New Zone…
  3. В мастере New Zone Wizard нажмите Next
  4. Оставьте Primary zone по умолчанию и нажмите Next
  5. Выберите Forward lookup zone и нажмите Next

  6. Укажите имя зоны, в нашем примере, example.com, и нажмите Next
  7. На странице Zone File оставьте параметры по умолчанию и нажмите Next
  8. На странице Dynamic Update оставьте параметры по умолчанию, нажмите Next и Finish

Добавление нового хоста




Вновь созданная зона появится в разделе Forward Lookup Zones:


  1. Кликните правой кнопкой мыши по созданной зоне и выберите New Host (A or AAAA)…
  2. Укажите имя хоста, в нашем примере, pbx
  3. Укажите частный (локальный) IP адрес сервера 3CX Phone System
  4. Нажмите Add Host. Появится сообщение о том, что запись pbx.example.com создана. Нажмите OK и Done

Именно это FQDN имя вы указываете во время инсталляции сервера 3CX Phone System в разделе FQDN.

Чтобы протестировать корректность настройки частного FQDN имени, в командной строке введите nslookup pbx.example.com. Команду нужно выполнять на компьютере, находящемся во внутренней сети. В ответ вы должны получить внутренний IP адрес сервера.
Split DNS создана. С этого момента 3CX Phone System будет использовать единое FQDN имя в публичной и частной сети.

Возможные проблемы


В зависимости от используемого типа DNS сервера, вы можете столкнуться с тем, что другие ваши хосты, например, веб сервер www.example.com, станут недоступны из внутренней сети. Это связано с тем, что ваш локальный DNS сервер начнет использовать внутреннюю DNS зону, а не перенаправлять запросы локальных клиентов на внешний DNS сервер. В этом случае необходимо продублировать во внутренней DNS зоне A записи всех хостов, находящихся во внешней DNS зоне. A запись должна содержать доменное имя хоста и его публичный IP адрес.


Дополнительная информация


Поделиться с друзьями
-->

Комментарии (9)


  1. mickvav
    10.05.2016 07:20

    Вот если бы вы описали, как такой костыль нормально и удобно поддерживать — была бы польза.


    1. snezhko
      16.05.2016 11:34

      Он поддерживается так же, как и создается. Дублируете необходимые DNS записи на внешнем м внутреннем DNS.


      1. mickvav
        18.05.2016 12:14

        Неужели не очевидно, что ручное управление информацией одного смысла в двух разных местах — грабли?


        1. snezhko
          18.05.2016 12:20

          Данная статья не рассматривате вопросы синхронизации DNS зон, она просто дает простой пример настройки SplitDNS. А уже системный администратор может этот процесс автоматизировать, если сочтет нужным.


  1. brainfair
    10.05.2016 11:22

    Вы серьезно? Простейшая настройка DNS на хабре? Сертификат нам зачем?
    www.3cx.com/docs/creating-fqdn-split-dns копипаст?


    1. snezhko
      16.05.2016 11:36

      Речь идет не просто о настройке DNS, а о настройке DNS для реализации необходимого функционала нашей системы. Статья написана в связи с многочисленными вопросами на этот счет.


  1. shachneff
    10.05.2016 11:23

    Никогда не знал, что это называется «Split DNS», но активно использовал в работе (для другой PBX). Описанная в параграфе «Возможные проблемы» проблема, когда вручную приходится синхронизировать внутреннюю зону, свели на нет все преимущества такого метода.
    Есть ли какое-то эффективное решение данной проблемы?


    1. brainfair
      10.05.2016 11:59

      Это не Split DNS, это настройка DNS у хостера и первичная настройка DNS на Windows 2012, совершенно раздельные и не связанные. Даже к 3СХ отношения не имеет.

      Как раз Split DNS это когда 1 DNS (или кластер не суть важно, главное синхронизированные) отвечали на запросы из внутренней зоны по одному, а на запросы из внешней по другому.
      В дополнительной литературе приведена статья «Split DNS: заставим BIND работать на два фронта!» вот там как раз про это и описано.


    1. snezhko
      16.05.2016 11:39

      Да, многие DNS серверы позволяют запрашивать внешнюю DNS зону, если не находят запись во внутренней. Тогда дублировать не нужно. Нужно смотреть возможности конкретного DNS сервера (маршрутизатора).