WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Статическая IP-маршрутизация

Статическая IP-маршрутизация


Дата публикации: 21-01-2011

Пример настройки Name-сервера

Спланируем нашу зону так:

  • наша фирма получила зону "фирма.домен";
  • в ней будет три машины со следующими функциями:
    • troll
      первичный Name-сервер; почтовая машина;
    • ogre
      вторичный Name-сервер; FTP- и WWW-сервер;
    • goblin
      просто машина без каких-либо функций, да еще расположенная совершенно в другом месте.
  • Имеется группа "группа.фирма.домен" с двумя машинами:
    • dwarf
      почтовый шлюз группы
    • elf
      просто машина
  • Имеется отдел "отдел.фирма.домен" со своим Name-сервером.
  • Имеется удаленный филиал "филиал.фирма.домен" со своим Name-сервером, который надо дублировать.

Старт

При старте машины запускается DNS-сервер:

    named -b /etc/namedb/named.boot

В качестве аргумента ему передается имя файла с описанием рабочей конфигурации.

Формат файлов

    |<-
    | Текст файла начинается с этой позиции.
    |<-

В качестве разделителя используются пробелы и табуляции.

Пустые строки игнорируются.

Точка с запятой ";" - признак комментария; все от нее до конца строки игнорируется.

Если строка начинается с пробела или с табуляции, она относится к тому же имени, что и предыдущая строка.

Файл named.boot

    directory            /etc/namedb

Это - указание на то, в какой директории находятся все упоминаемые дальше файлы.

    primary 0.0.127.in-addr.arpa    localhost.rev

Каждый Name-сервер должен обслуживать зону 0.0.127.in-addr.arpa, ибо каждая машина должна знать свой внутренний номер как localhost.

    primary фирма.домен    фирма.домен.hosts

Это - домен, выделенный нашей организации.

    primary 1.168.192.in-addr.arpa    1_168_192.rev

Это - обратное преобразование IP-адресов в имена.

Для ускорения обращений к Name-серверу филиала на нашем сервере должна быть копия содержимого его зоны.

Файл localhost.rev

    @    IN SOA    troll.фирма.домен. ответственный_за_зону. (
            19970315 ; Serial
            3600     ; Refresh
            300      ; Retry
            3600000  ; Expire
            3600     ; Minimum
        IN NS    troll.фирма.домен.
    1   IN PTR    localhost.домен.

Пояснения:

  • @
    текущий исходный домен, от которого будут отсчитываться все имена, которые не заканчиваются на точку. в данном случае - 0.0.127.in-addr.arpa.
    • IN
      Запись относится к InterNet. Должно присутствовать во всех записях, но часто это игнорируют.
    • SOA
      Start Of Authorisation - Начало Полномочий.
    • первичный_сервер_зоны.
      Имя первичного сервера зоны. Так как мы создаем этот файл на первичном серере, здесь должно быть доменное имя самОй машины; точка в конце обязательна.
    • ответственный_за_зону.
      Почтовый адрес лица, отвественного за зону; "@" в адресе заменяется на ".".
    • В скобки заключаются параметры, растянутые на несколько строк:
      • 19970315 ; Serial
        Серийный номер версии; должен увеличиваться при каждом изменении в зоне - по нему вторичный сервер обнаруживает, что надо обновить информацию. Обычно пишется в виде <год><месяц><число><номер>.
      • 3600 ; Refresh
        Временной интервал в секундах, через который вторичный сервер будет проверять необходимость обновления информации.
      • 300 ; Retry
        Временной интервал в секундах, через который вторичный сервер будет повторять обращения при неудаче.
      • 3600000 ; Expire
        Временной интервал в секундах, через который вторичный сервер будет считать имеющуюся у него информацию устаревшей.
      • 3600 ) ; Minimum
        Значение времени жизни информации на кэширующих серверах.
    • IN NS первичный_сервер_зоны.
      Запись NS авторизует сервер как ответственный за зону. Естественно, надо авторизовать самогО себя.
  • 1 IN PTR localhost.домен.
    Номер 127.0.0.1 всегда должен быть localhost. .0.0.127. автоматически приписывается к 1, ибо она не кончается на точку.

Файл фирма_домен.hosts

Файл фирма_домен.hosts достаточно велик, поэтому я буду перемежать текст файла обьяснениями.

    @    IN SOA    troll.фирма.домен. ответственный_за_зону. (
            19970315 ; Serial
            3600     ; Refresh
            300      ; Retry
            3600000  ; Expire
            3600     ; Minimum
        )

Да в общем-то нет никаких причин делать эту зону отличной от зоны, содержащейся в localhost.rev, разве что Serial может (и скорее всего будет) различаться.

        IN NS    troll
        IN NS    ogre
        IN NS    вторичный_сервер_провайдера.

Раз у нас есть вторичный сервер, да к тому же провайдер обещал держать у себя на сервере копию нашего сервера, надо авторизовать их тоже.

        IN MX    10    troll
        IN MX    20    почтовый_шлюз_провайдера.

Здесь описаны почтовые шлюзы в порядке возрастания "удаленности" от пункта назначения. Почтовые серверы, имеющие почту для наших машин, пытаются послать ее непосредственно по адресу назначения; если это не удается, они пытаются послать ее самому близкому к пункту назначения шлюзу, при неудаче - следующему и так далее до исчерпания списка. Это касается только адреса фирма.домен, но не относится к машинам зоны (см.ниже).

    localhost    IN A    127.0.0.1

Каждая машина, обратившаяся по адресу localhost или localhost.зона, должна получить номер 127.0.0.1.

    *    IN MX    10    troll
         IN MX    20    почтовый_шлюз_провайдера.

Для всех машин данной зоны установить почтовые шлюзы (те же, что и для самОй зоны).

    troll    IN A    192.168.1.1
             IN HINFO "486DX2-66" "FreeBSD"
    ns       IN CNAME troll
    mail     IN CNAME troll
  • IN A 192.168.1.1
    Определяет, что имени troll соответствует IP-номер 192.168.1.1.
  • IN HINFO "486DX2-66" "FreeBSD"
    Содержит некоторыю информацию о машине, обычно - тип процессора и операционной системы.
  • ns IN CNAME troll и mail IN CNAME troll
    Делают имена ns и mail псевдонимами машины troll. Следует помнить, что этого не всегда достаточно: некоторые протоколы, включая HTTP 1.1 и E-mail работают непосредственно с именем хоста, так что сам хост тоже должен понимать, что это имя - его.
    ogre    IN A    192.168.1.2
            IN HINFO "Pentium" "Linux"
    nss     IN CNAME ogre
    www     IN CNAME ogre
    ftp     IN CNAME ogre
    goblin  IN A    172.16.21.114

В общем-то все то же самое, что и для troll.

    группа        IN MX     5    dwarf.группа
                  IN MX    10    troll
                  IN MX    20    почтовый_шлюз_провайдера.
    *.группа      IN MX     5    dwarf.группа
                  IN MX    10    troll
                  IN MX    20    почтовый_шлюз_провайдера.

На всякий случай отдельно зафиксируем почтовые шлюзы как для самой группы, так и для всех ее машин.

    localhost.группа     IN A    127.0.0.1
    elf.группа           IN A    192.168.1.11
    dwarf.группа         IN A    192.168.1.12

Обычные записи для машин группы. Можно сделать им HINFO или добавить псевдонимы - по вкусу.

    отдел        IN NS    192.168.1.21.
    ; и, если есть, вторичные Name-серверы

Так как отдел имеет свой Name-сервер, нужно только авторизовать его, причем по номеру (или по имени, которое имеется в уже авторизованной зоне); а дальше он сам должен отвечать за записи своей зоны.

И напоследок - красивый фокус:

    altavista    IN CNAME    altavista.digital.com.
    yahoo        IN CNAME    www.yahoo.com.

Это позволяет моим юзерам обращаться к самым известным поисковым машинам, не набирая www. в начале и .com в конце! Однако, когда я пытался обращаться к этим машинам через Proxy-сервер провайдера, тот обратился к своей зоне DNS и сказал: "Не знаю имени yahoo.провайдер! Впрочем, полное имя www.yahoo.com продолжало нормально функционировать. Есть еще одна особенность такой конфигурации: машина yahoo.фирма.домен находится в нашей зоне, поэтому некоторые программы, кэширующие обращения к WWW, могут решить, что ее кэшировать не надо.

Файл 1_168_192.rev

    @       IN SOA   troll.фирма.домен. ответственный_за_зону. (
            19970315 ; Serial
            3600     ; Refresh
            300      ; Retry
            3600000  ; Expire
            3600     ; Minimum
        )

Тут даже думать не надо.

    1     IN PTR    troll.фирма.домен.
    2     IN PTR    ogre.фирма.домен.
    11    IN PTR    dwarf.группа.фирма.домен.
    12    IN PTR    elf.группа.фирма.домен.
    ; и так далее

Этот файл содержит преобразования IP-адресов в доменные имена. Многие программы-серверы вообще отказываются работать с машинами, чей IP-адрес не прописан в обратной (reverce) зоне, видимо, считая, что этот адрес кем-то присвоен самовольно, без санкции ответственного администратора.

десь же мы должны прописать все остальные машины, имеющие IP-номера 192.168.1.* - дело в том, что зоны в in-addr.arpa выделяются сразу на 256 адресов и не делегируются на меньшее число.

Хочу также обратить внимание на то, что в обратной зоне нет машины goblin: она находится в совсем другой обратной зоне.

Файл филиал_фирма_домен.hosts

Этот файл создается автоматически (копируется с первичного DNS-сервера); главное - чтобы там он был правильно построен (прописаны все NS и MX).

Инструменты

Для тестирования правильности построения зоны используется программа nslookup. Она сообщает IP-адрес по доменному имени, а при запуске без параметров она переходит в командный режим, где проявляет все свои незаурядные качества - читай `man nslookup`.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)
Октябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Yoggi Berra:

    "В теории, теория и практика неразделимы. На практике это не так."

    Опрос

    Ваша ОС?

    Windows XP
    Windows 7
    др. версия Windows
    Linux
    др. ОС