BASH Programming - Введение

       

Вопросы и ответы


Пожалуйста прочитайте этот раздел до того, как соберетесь писать мне о чем либо.

  • Мой named требует наличия файла named.boot
  • Вы прочитали неправильный HOWTO. Пожалуйста посмотрите старую версию этого документа, которая описывает bind 4. Ее можно найти по адресу

  • Как использовать DNS изнутри сети, защищенной firewall?
  • Совет: вам также может понадобиться строка

    query-source port 53;

    в разделе ``options'' файла named.conf, как предполагается в примере, приведенном в разделе .

  • Как могу сделать круговорот DNS для определенного сервиса, например www.busy.site, среди доступных для него адресов, для того, чтобы получить эффект баланса нагрузки, или чего-то подобного.
  • Сделайте несколько разных записей A для www.busy.site и используйте bind версии 4.9.3 или старше. При этом bind при ответах будет смещаться по кругу между заданными адресами. Этот метод не

    будет работать с более ранними версиями bind.

  • Я хочу установить DNS в закрытой корпоративной сети (intranet). Что мне надо сделать?
  • Вам необходимо убрать файл root.hints и просто использовать файлы зон. Это также означает, что вам никогда не нужно будет обновлять его.

  • Как я могу установить дополнительный (ведомый) сервер имен?


  • Если основной/ведущий сервер имен имеет адрес 127.0.0.1, то вам необходимо поместить примерно такую строку в файл named.conf дополнительного сервера имен:

    zone "linux.bogus" { type slave; file "sz/linux.bogus"; masters { 127.0.0.1; }; };

    Вы можете перечислить несколько альтернативных основных серверов для зоны, которые могут копироваться, внутри списка masters, разделенного знаком ';' (точка с запятой).

  • Я хочу иметь работающий bind, в то время, когда я не подключен к сети.
  • Есть три подхода к решению этой проблемы:

  • Я получил это письмо от Ian Clark <ic@deakin.edu.au>, где он объяснял свой способ решения данной проблемы:

    У меня запущен named на моей машине с 'Masquerading'. У меня есть два файла root.hints-- один, названный root.hints.real, который содержит настоящий список имен корневых серверов и второй, названный root.hints.fake, который содержит...


    ---- ; root.hints.fake ; этот файл не содержит информации ----
    Когда я отключаюсь от провайдера, я копирую файл root.hints.fake в файл root.hints и перезапускаю named.
    Когда я снова подключаюсь к провайдеру, то я копирую файл root.hints.real в root.hints и опять перезапускаю named.
    Это делается из скриптов ip-down и ip-up соответственно.
    Сначала я делаю запрос об имени домена, о котором named не имеет информации, и он помещает примерно такую строку в файл messages..
    Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
    Кажется это работает в моем случае. Я могу использовать сервер имен для локальных машин в то время, когда я отключен от сети, без каких либо задержек по тайм-ауту для внешних доменов, и сервер имен работает нормально с внешними доменами, в то в время, когда я подключен к сети.
  • Я также получил информацию от Karl-Max Wanger о том, как bind взаимодействует с NFS и portmapper на большинстве большинстве машин, не имеющих доступа к внешней сети.
    У меня запущен named на всех машинах, которые только время от времени подключены к Internet с помощью модема. Сервер имен только кеширует информацию, он не авторизует никакую информацию и запрашивает обо всем сервера перечисленные в файле root.cache. Как обычно в Slackware, он запускается до nfsd и mountd.
    На одной из моих машин (портативный компьютер Libretto 30) у меня была проблема с тем, что иногда я мог примонтировать ее диск с другой машины, подключенной к моей локальной сети, но в остальное время эта операция не удавалось. У меня был один и тот же эффект, вне зависимости от использования PLIP, PCMCIA ethernet карты или PPP по последовательному интерфейсу.
    После некоторого времени, проведенного в предположениях и экспериментах, я нашел, что named несомненно вносит беспорядок в процесс регистрации nfsd и mountd, что выполняется с помощью portmapper при запуске (я как обычно запускаю эти демоны во время загрузки). Запуск named после nfsd и mountd полностью устранил эту проблему.
    Поскольку не ожидается никакого ущерба от такой измененной последовательности загрузки, то я рекомендую всем сделать также как сделал я, для предотвращения потенциальных осложнений.


  • В заключение, существует HOWTO об этом по адресу . Хотя это о bind 4, вы можете это применить и для bind 8.

  • Где кеширующий сервер имен хранит свой кеш? Есть ли способ контролировать размер кеша.

  • Кеш полностью хранится в памяти, он никогда сохраняется на на диск. Каждый раз, когда вы прекращаете выполнение named содержимое кеша теряется. Кеш не контролируется ни одним из способов. named обслуживает его, согласно некскольким простым правилам. Вы не можете контролировать кеш или его размер по любым причинам. Если вы хотите, то вы можете ``исправить'' это, подправив named. Однако это не рекомендуется.
  • Сохраняет ли named свой кеш между перезапусками? Как я могу заставить named сохранять его?

  • Нет, named не сохряняет кеш при завершении. Это означает, что кеш должен быть построен заново каждый раз при перезапуске named. Нет
    способа, который заставил бы named сохранять кеш в файле. Если вы хотите, то вы можете ``исправить'' это, подправив named. Однако это не рекомендуется.
  • Как я могу получить домен? Я хочу настроить свой домен, названный (например) linux-rules.net. Как можно назначить этот домен для меня?

  • Свяжитесь с вашим провайдером интернет. Он сможет вам помочь в этом вопросе. Заметьте, что в большинстве частей мира вам необходимо заплатить деньги за получение домена.

    Содержание раздела