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 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 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

Друзья сайта



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

Неизвестный автор:

"Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять."

Опрос

Какой аудио плеер Вы используете?

Winamp
Light Alloy
foobar2000
Apollo
AIMP
1by1
iTunes
jetAudio
Другой...