Dns и bind альбеца и ли
В этой части: подробнее о жизни эникейщика: как устроиться, чем заниматься, чего избегать, к чему стремиться.
Я откладываю вопрос о «будущем сисадмина» на следующие части — сейчас я сфокусируюсь на том, как начинается карьера. Повторю, опытным администраторам всё это будет казаться либо обидным, либо очевидным — но я достаточно посмотрел за эту весну на людей, которые пытаются «вскочить в индустрию», но у них не получается. Именно для них этот цикл статей. (Я не ощущаю себя достаточно умным, чтобы рассказывать про будущее карьеры для людей, у которых опыта, возможно, больше, чем у меня).
Примерно до середины 2000ых было два пути стать системным администратором: через путь эникейщика и через профильное высшее образование (обычно, в всякого рода институтах связи). Первое давало много опыта, второе — довольно много знаний (из которых большая часть не нужна). Сейчас появился третий — всякого рода «курсы системного администрирования», которые, реально, тлен и прах (если судить по тому, что знают и умеют те, кто их закончил).
Я пока сфокусируюсь на первом — а именно, «через эникеи в админы».
То, что я напишу, вызовет бурю возмущения (во всяком случае, именно такую бурю обычно вызывает текст вакансии с такими требованиями и з/п в 15-17 т.р. (Санкт-Петербург)).
Нужно: уметь установить виндоуз, починить ей загрузчик, точно знать, где находятся программы, данные пользователей и т.д. (то, что называется «уверенный пользователь windows»). Дальше интеренее: нужно иметь представление об СКС (объяснить, какие пары и зачем переворачиваются в кроссе), знать про маршрутизацию (на уровне объяснить что от чего отделяет маска сети), DNS (на уровне знания про существования RR и способности определить IP по dns-имени в консоли), диагностику сети (знать, что такое пинг и уметь интерпретировать его вывод), нужно иметь какой-никакой опыт с офисными приложениями, уметь читать отлупы почтовых серверов.
Тяжеловатый список, правда? Последний раз, когда я искал помощника сисадмина, я решил не сдаваться и остановился именно на таком уровне. Нужно сказать, человек таки (через 3 недели) нашёлся.
Итак, первое — это знания. Где их получить? Видимо, дома. Внимательно думайте что делаете, старайтесь разобраться «почему». Каждая переустановка windows с нуля — ваш проигрыш.
Второе — адекватность. Свободный график, поблажки по времени работе — это удел админов. Эникейщик должен быть вовремя (и никого не волнует маршрутка в пробке), он должен быть приветлив к пользователям, он должен владеть русским языком и более-менее письменным этикетом (чтобы отвечать на письма внутри компании вменяемо).
Настройка кэширующего DNS сервера
После установки bind, он полностью готов работать как кэширующий DNS сервер без дополнительной настройки. Единственный недостаток – он обрабатывает запросы на всех интерфейсах, что нам абсолютно не нужно, поэтому мы немного подредактируем настройки сервера.
Для того, чтобы BIND работал в качестве кэширующего сервера, необходимо иметь конфигурационные файлы заполненные необходимой информацией:
- named.conf;
- описание серверов корневой зоны (зона типа hint);
- описание зоны 127.in-addr.arpa.
В данном примере приведен кэширующий DNS сервер, обрабатывающий запросы из списка сетей lan, в которую входит только одна локальная сеть 192.168.1.1/24 и петлевой интерфейс. При необходимости можно включить туда и другие сети. После определения списка сетей в директиве acl, в любом месте конфига можно будет ссылаться на этот список по имени (в нашем примере имя – lan), что, собственно и сделано в разделе options. Большинство параметров я прокомментировал, но отдельного внимания требует раздел, описывающий зону корневых серверов. В параметре file задан относительный путь к файлу описания корневых серверов (путь, относительно рабочего каталога сервера). За обновлениями данного файла необходимо следить, хотя он обновляется довольно редко (откуда брать обновленный файл я писал в теории DNS). Как вы заметили, имеется так же две записи для зоны localhost и две записи обратных зон для броадкаст доменов. Назначение этих зон состоит в том, чтобы избежать трансляции случайных запросов имен соответствующих IP-адресов на серверы, обслуживающие корневую зону.
Чтобы не вносить неразбериху в куче конфигурационных файлов, в статье я привожу примеры на основе единого конфигурационного файла. На самом деле, в последних версиях Debian (и других дистрибутивах Linux), файл named.conf выглядит следующим образом:
То есть основной файл не содержит конфигураций, а включает в себя более узко специализированные файлы, которые отвечают за свои задачи, например named.conf.options – содержит глобальные параметры конфигурации, named.conf.default-zones – содержит описание localhost и broadcast зон, а named.conf.local содержит описания зон, за которые отвечает данный сервер.
В записи SOA указывается primary NS для домена и e-mail контактного лица. В скобках, по порядку:
В секции NS задаются NS сервера, которые обслуживают данный домен. Минимально их необходимо два, причем они должны находится в разных подсетях, а лучше — в географически разных местах. Первым указывайте primary сервер.
- Если вы указываете полное имя домена, пишите в его конце точку.
- Записи NS, MX и A для основного домена (не субдомена) не должны начинаться с начала строки.
- Если почтовый шлюз принадлежит этому же домену, не забывайте указывать его в секции A.
Проверить файл зоны на ошибки можно с помощью команды:
Далее, хочу обратить внимание на наличие файлов зон в каталоге, указанном в разделе options в параметре directory с именами, соответствующими параметрам file в разделах, описывающих зоны:
Рассматривать файлы “петлевых” и бродкастовых зон не вижу смысла, т.к. после установки пакета bind настройки заданные по умолчанию в данных файлах вполне приемлемы. Далее, при организации мастер сервера мы рассмотрим пример описания файла зоны. Хочу обратить внимание, что мы настраиваем кэширующий сервер, а определяем мы его и как master для некоторых из зон. В нашем случае “кэширующий” говорит о том, что наш сервер не поддерживает ни одну из реально существующих зон, т.е. ему не делегировано прав на такое обслуживание.
Вторичный (secondary, slave) авторитетный сервер зоны
Основная функция slave сервера – автоматическая синхронизация описания зоны с master сервером. Данная задача регламентируется документом RFC 1034 в разделе 4.3.5. Согласно данному документу обмен данными между серверами рекомендовано производить по протоколу TCP, посредством запроса AXFR. По этому запросу за одно TCP соединение должна передаваться вся зона целиком (RFC 1035).
Так же, slave DNS-сервер делит нагрузку с master сервером или принимает на себя всю нагрузку в случае аварии па первом сервере.
Прежде чем приступить к настройке slave DNS сервера, необходимо проверить возможность получения зоны вручную со вторичного сервера с помощью следующей команды:
Получение зоны прошло успешно. Далее, для настройки подчиненного сервера, алгоритм следующий:
- Скопироватьконфигурационный файл named.conf с master сервера;
- Заменитьпараметр type master на type slave в тех зонах, для которых он будет вторичным;
- Параметр allow-transfer < 10.0.0.191; >;заменить на masters < 10.0.0.152;>; в тех зонах, для которых он будет вторичным;
- Удалить зоны, которые не будет обслуживать текущий сервер, в том числе и корневую, если slave не будет отвечать на рекурсивные запросы;
- Создать каталоги для логов, как в предыдущем примере.
Итого, мы получаем конфиг slave сервера:
после перезапуска наш slave сервер благополучно скопирует необходимую ему информацию с главного сервера, о чем будет говорить наличие файлов в каталоге:
Резюме
В текущей статье описана настройка основных конфигураций DNS сервера BIND. Целью статьи было – дать представление о работе сервера BIND в UNIX. Практически не затронуты вопросы безопасности ДНС и мало затронуты такие специфичные настройки, как работа сервера в пограничном режиме, когда в разные сети отдается разная информация о зоне(нах). Для более глубокого освоения ниже есть список дополнительных источников, в которых удастся получить нужную информацию.
DNS и BIND, Альбитц П , Ли К, 2002.
Книга «DNS и BIND» стала библией для системных администраторов. Она уникальна по полноте изложения материала, что в сочетании с прекрасным авторским стилем делает ее незаменимой и актуальной для каждого, кто хочет наладить эффективную работу DNS. Четвертое издание включает информацию о версии 9 пакета BIND, в которой реализованы новые и очень важные механизмы, а также о версии 8, входящей в состав большинства действующих коммерческих разработок. Пакеты BIND 8 и 9 позволяют значительно повысить безопасность служб DNS.
Рассмотрены следующие темы: функциональность и принципы работы DNS; структура пространства доменных имен, установка и настройка серверов имен; применение MX записей для маршрутизации почты; настройка узлов на работу с DNS; разделение доменов на поддомены; обеспечение безопасности DNS-сервера; новые возможности BIND 9; расширения системы безопасности DNS (DNSSEC) и подписи транзакций (TSIG); распределение нагрузки между DNS-серверами; динамические обновления, асинхронные уведомления об изменениях зон, пошаговая передача зон; устранение неполадок (применение nslookup и dig, чтение отладочного вывода); DNS-программирование с применением библиотеки DNS клиента и модуля Perl Net::DNS.
Исходные данные
Для корректной работы DNS нем необходимо иметь настроенную сеть. DNS в текущей статье будет настроен на дистрибутиве FreeBSD, Конфиг сети стенда следующий:
где XXX.XXX.XXX.XXX – внешний интерфейс (подсеть, выделенная провайдером). Настраиваемая зона будет иметь имя disnetern.lan.
Установка BIND9
Для работы DNS сервера необходимо установить пакет bind9 (в некоторых дистрибутивах – bind). Как отмечено на схеме – основным конфигурационным файлом BIND является файл named.conf (данный файл может быть размещен в каталоге /usr/local/etc/named/ ).
Собеседование
- Никакого шапкозакидательства (плохой пример: «да, это элементарно, ну чё тут вообще делать, плёвая задача, я такие не люблю, но умею»). Если вы такой умный, почему вы на «помощника» претендуете, а не админите уже который год?
- Позитивный настрой. Даже если вы винды и 1С терпеть не можете, если с ними работаете — никакого (по-крайней мере на собеседовании) бухтежа по поводу глючных виндов, грёбанного 1С, тупых ламеров и т.д. Примерный формат ответа: Да, знаю, да, могу. Это и это — наверное, смогу, хотя ни разу не делал. Вот это — пока не знаю, трудно оценить сложность.
- Отсутствие самоуверенности. Типичные ошибки: «я всё знаю про винды», «знаю линукс», «знаю 1С». Самую большую ошибку, которую можно сделать при собеседовании с профессионалом (когда вас админ собеседует, а не дамочка из HR) — это заявить о большИх знаниях, но не показать их. В этом случае даже ваши небольшие знания не будут засчитаны. Будте честнее — чем понятнее будет ваш уровень знаний, тем больше к вам доверия. Когда вы всё знаете, но ничего не можете — это худший вариант. Откровенно, если у меня на собеседовании человек заявляет о глубоких знаниях, а по сути ничего не может сказать, то на этом можно считать собеседование законченным (чуть ниже я раскрою эту мысль).
- Отсутствие попыток залезть поперёк батьки в пекло. По молодости я, например, этим страдал — идя на собеседование я по заголовкам писем старался выяснить максимум про структуру сети компании. Иногда это удавалось, и я горделиво объяснял, что я уже много знаю про эту сеть. Разумеется, реакция была не «ой, какой он умный, берём его сейчас же», а строго обратная — враждебная подозрительность «а что он ещё тут хочет вынюхать?». Вы пока что чужой человек компании — и доверия к вам пока никакого — «искательный» энтузиазм — это интерес к «нутру» компании постороннего человека, что однозначно враждебное действие, особенно в условиях распространённых мухлежей с НДС и прочими «холдинговыми методами ведения бизнеса».
- Безусловно, никакого бреда из книжек про трудоустройство про особый энтузиазм к компани. Если вы устраиваетесь в ООО «блаблабла», то говорить, что хотели бы работать именно тут — это ошибка. Будет звучать фальшиво. (Впрочем, если вы идёте в крупное звучное имя, то сказать, что вам интересно было бы работать в крупной компании можно, но ни на что не повлияет). Кстати, у меня есть подозрение, что фраза «я хочу поработать в крупной компании» может быть интерпретирована как «я хочу вас как строчку в резюме и долго тут не задержусь», так что я бы вообще предложил на этом этапе воздержаться от описания своих карьерных ожиданий
- Никаких рассуждений с чем бы вы хотели работать. Оставим это до момента появления у вас специализации — людям нужен человек, который будет делать то, что сказали (помним про «расходный материал» из предыдущего поста). Право выбирать себе область специализации вы сможете после того, как она у вас появится. До этого момента — что дали, то и надо жрать. Жрать, усердно делать что сказали, и учиться-учиться-учиться
- Очевидное, но важное: приносите с собой резюме. Может сильно помочь, потому что иногда его забывают распечатать/прочитать и т.д., наличие с собой во-первых покажет, что вы таки идёте сюда, а не куда попало, а во-вторых даст капельку человеческой благодарности. Специально предлагать не надо, но вполне можно положить рядом с собой на стол. В резюме имеет смысл написать вилку от предлагаемой з/п для должностей такого рода она обычно в вакансии написана ± 1т.р.
- Если предложат подвинуться вниз, то не возмущайтесь, говорите, что «это нижняя вилка моих ожиданий, я бы хотел видеть чуть большую сумму, если вы настаиваете на нижней границе, то если можно, то я хотел бы некоторое время подумать и посмотреть на другие предложения по рынку». Это даёт момент манёвра и вам, и работодателю.
- Будет очень неплохо уточнить, что нужно будет делать на должности, но в реальности — это не та должность, чтобы что-то куда-то выбирать.
- Не рассказывайте про мега-навыки программирования и другое вышивание крестиком. Если вы крутой программист, почему вас собеседуют на должность помощника сисадмина? Особо это касается познаний в Си, ассемблере, яве и прочих вещах, которые в системном администрировании точно не используются. Впрочем, если умеете, стоит сказать, что «более-менее сносно умею писать скрипты» — это будет засчитано в плюс.
Дальше вам нужно оценить адекватность людей вокруг. Трудная задача. Не стоит заигрывать в крутых админов и панибратствовать (см п.1), спросите, чем занимается компания, если видите затруднения в ответе, уточни, что интересует только то, с чем нужно будет работать по должностным обязанностям. Многие компании представляют из себя жуткое сплетение разных ООО, которые делают что попало, и рассказывать про бизнес вам никто не будет.
- Overqualification. Если админ почувствует себя неуютно рядом с вами, то вряд ли вы получите эту работу. Если нужен человек для замены картриджей в бухгалтерии, а вы рассказываете про mad skillz в реверс-инженеринге хасп-ключей, то это вызывает негативную реакцию. Зачем этот человек нам? О чём он вообще? То же касается и overqualification в целом. Если вы говорите, что на двух предыдущих работах вы админили сетку из 30 компьютеров, и вообще вы крутой админ, то почему вы сейчас ищите работу помощника? Этот вопрос не праздный, и имеет несколько важных вывода у работодателя. У админа: он хочет меня подвинуть. У вменяемого админа: он врёт, либо, почему он идёт вниз по карьере? И ещё один вопрос: а как долго он у нас проработает?
- Ошибка в оценке собственных знаний. Ещё раз повторю: «я знаю линукс», «я знаю windows», «я знаю компьютерные сети», «я знаю SQL» и т.д. — это явная ЛОЖЬ. Даже если вы проходите экзамен на MSCE, это вовсе не означает, что вы знаете windows. Поверьте мне, областей специфичного знания там слишком много для обычного человека (не верите? Ок, оставили в стороне серверы, контрольные вопросы про десктопные винды: Каким образом perfmon может показывать дополнительные счётчики производительности для установленного ПО? Где контролируется доступность счётчиков? Другой вопрос: каким образом осуществляется проверка достоверности обновлений; какие сертификаты и настройки службы валидации сертификатов на это влияют? Третий: Где хранится информация о данных, которые были поменяны MSI-инсталляторами; можно ли эти данные менять, и если можно, то при соблюдении каких условий?). Про «знаю linux» — строго аналогично. Итак, забыли про архигромадные и глупые утверждения об всеохватности знаний. Говорите точнее: «знаю и умею выполнять типичные операции с windows таких-то версий — переустановить, настроить драйвера, простейшую сеть. ». Никогда не говорите обобщающих утверждений, если вы не знаете подробностей того, о чём говорите — значит, не имеете даже общего представления о том, что там есть. Наоборот, подробное описание своих поверхностных навыков даст информацию о том, что вы хоть что-то знаете в области, и вас легко будет доучить до нужного уровня.
Кстати, об ответе на вопрос «долго ли вы у нас собиратесь работать?», отвечайте честно: «хочу набраться опыта, думаю, что минимум год, если будет интересно, то дольше». Вполне разумный срок для эникейщика. Поиск работника не менее геморройный, чем поиск работы, так что человек с намерением поработать пару месяцев энтузиазма не вызовет, но и обещание работать в качестве эникея тут до гробовой доски тоже не вызовет доверия к вашим словам.
В этой секции о том, как выполнять служебные обязанности. О том, что на самом деле (для собственного карьерного продвижения делать, чуть ниже).
Во-первых, осознайте, для чего вас наняли на работу: снять с админа работу. Не её излишек, очень редко администратор бывает совсем уж занят, а снять с него самую неприятную её часть: общение с пользователями и танцы вокруг компьютеров с бубном.
а) Вежливость. Предельная. Даже если мудак и капризничает. Если на вас пожалуются, да ещё и так, что админа вызовут на ковёр, то это 50% вылета с работы.
б) Память. Запомните, если вам сказали, что через три дня надо будет в 13:00 отключить что-то, то вы и только вы про это помните. О том, что вы не отключили вам напомнят через 2-3 дня, да ещё и объявят виноватым во всех последующих проблемах. Если пользуетесь аутлуком — используйте планировщик. Нет — используйте будильники, клейкие бумажки на монитор, что угодно — но помните. Забывчивые эникейщики на работе не задерживаются.
в) Прикладывайте усилия к решению проблем. Это не только сделает вас чуть лучше в глазах админа (получить оценку «толковый эникейщик» — это дорогого стоит, хотя не надейтесь на прибавку), но и даст вам тот самый опыт, которого вам не хватает.
Вообще, это касается не только «помощника», всегда соглашайтесь на любую разовую работу (ну, кроме работы наркодиллером и испытателем ракет) — однократно вы получите от этой работы больше опыта, чем работодатель от вас пользы. Один раз протащили СКС — пачка опыта, один раз разобрались с видеокамерами — другой бесценный опыт. Научились программировать системный телефон АТС — опять же опыт. Опыт, опыт, опыт. Столкнувшись с проблемой пытайтесь не только решить её здесь и сейчас, но ройте по-максимуму. Если есть время, старайтесь прочитать в гугле хоть сколько-то про каждое новое название, которое встречаете.
- Вас никто не будет учить специально
- У вас есть все возможности учиться
- Но эти возможности вам никто не будет предлагать
Итак, у вас есть сколько-то времени ежедневно между звонками бухгалтеров о залипшей кнопке, посылом «пойти почини вот ту неведомую фигню» и прочими глупыми, жрущими время и низкооплачиваемыми вещами.
Это время можно:
а) Потратить на игры. Уносить сразу же. Не только потратите всё время, но ещё и получите массу проблем по работе, потому что будете тупить, тормозить и не успевать сделать, что сказали.
б) Потратить на сёрфинг, вконтактик, чатики, двачики, лепру, ещё какой другой замечательный в своей социализации сервис. Примерно то же самое, правда, менее опасно для работы.
в) Тратить на самообучение.
И вот это — главное.
Запомните, главные различия между админом и эникейщиком: теоретические знания и опыт. Опыт вы вычитать не сможете, он придёт со временем. Но какой именно он придёт, и, главное, первый пункт зависит ТОЛЬКО от того, сколько вы будете читать.
Читать, читать, читать, читать.
Если на работе есть проф. литература — читать всё. Даже если половину не понимаете. Прочтёте всю полку — начинайте читать то, что не поняли раньше.
Поток знаний, который на вас обрушится из самой глупой и зачуханной админской книжки достаточен, чтобы вкачать 2-3 левела по администрированию, причём по совершенно несвязным с темой книги темам. (Воспоминания: книжка по 2003 экчейнжу мне дала огромный пласт знаний по устройству виндов и active directory, наверное, больше, чем про эксчейнж).
Первые книги будет читать безумно тяжело. Но это нужно делать, потому что если вы не научитесь учиться, то пик вашей карьеры — престарелый полуадмин-идиот. Я таких встречал, они в 45+ лет несут наивную ахинею про антивирусы и глючную винду. Преимущественно такие выживают в гос. организациях или подыхающих от безделия полусоветских конторах.
Итак, читать, читать, читать.
Что делать, если литературы нет?
1) Купить (иногда кусается)
2) Читать, что есть (с экрана)
3) Попытаться попросить купить книжки за счёт компании (шансов мало, но есть).
В любом случае, читать, читать, читать. Договоритесь с самим собой — не менее часа в день на чтение _КНИГ_. Болтовня на тематических ресурсах за это не засчитывается. Сразу отвечаю на вопрос, каких книг: всех, которые хоть как-то касаются того, с чем вы работаете и до которых у вас дотянулись руки. За условный год вам нужно прочитать не меньше 20-30 книг, что очень, очень, очень много (это не беллитристика, некотрые умные книги нужно 2-3 раза перечитывать). Если уж совсем хочется руководства — ну, хотя бы «DNS и Bind» Альбеца и Ли. В принципе, Неймет хорош, он, правда, не по виндовой части. От себя ещё порекомендую Филимонова, «Основы мультисервисных сетей Ethernet», даёт очень мощный пинок по куче технологий. Но, 2-3 книги погоды не делают — читать, читать, читать.
Следующий пункт: общение на тематических форумах, комьюнити, и т.д. Полезно, но не заменяет книги. Лучше читать ответы, максимум, задавать вопросы. Умничать пока рано, но если вас тыкают носом в вашу глупость, страйтесь выяснить, почему вы всё ещё идиот, а не устраивайте битву троллей за кубок Флеймера. Если уж втянулись в спор, то аргументируйте — ищите источники, доказывайте. В принципе, один затяжной холивар может привести к тому, что вы сильно улучшите свои знания в области — но это при условии, что вы пытаетесь доказать свою точку зрения по источникам, а не громким и могучим IMHO.
Далее, как уже сказано ранее, старайтесь разобраться. Если вы будете задавать идиотские вопросы по работе, то это нормально (учтите, только, что админ не бог, и если он отмахивается, то есть вероятность, что он просто не знает).
Как сказано ранее, на первых порах всё — смежные вопросы из книг дадут вам первичные знания широкого спектра.
К моменту, когда вы это всё изучите, вы с большой вероятностью уже будете иметь какой-никакой опыт и вполне сойдёте за начинающего админа.
Тут мы начинаем самую сложную часть.
Во-первых, в мире Windows принято пиратить платный софт. В мире линукса тоже, только платного софта почти нет, в репозиториях много нужного и опенсорсного, так что проблема менее остра.
Наш доблестный уголовный кодекс предусматривает, что виноват тот, кто софт ставил. И если по служебной записке — то «по предварительному сговору», то есть отмазок нет. Если что-то случится — вас попытаются сделать виноватым. Учитывайте это, старайтесь держаться от Microsoft, Adobe, Autocad, 1С подальше. К сожалению, выбора нет, решайте сами — рисковать потенциальным условным сроком или вполне неиллюзорно вылететь с работы «за идиотизм». Это проф.риск многих начинающих админов (а так же цена работы с хорошо знакомой windows).
Вас могут попытаться сделать гибридом грузчика и помощника завхоза. От переноски серверов (легко) и серверных упсов (тяжело) вам не отвертеться, а вот от всякой завхозной ерунды — старайтесь уклоняться. Ибо время ест, а квалификации не добавляет.
Named – это демон, входящий в состав пакета bind9 и являющийся сервером доменных имен. Демон named может реализовывать функции серверов любого типа: master, slave, cache. На приведенной схеме я постарался максимально прозрачно отобразить основной принцип работы DNS сервера BIND. Бинарник, который выполняет основную работу, расположен в /usr/sbin/named. Он берет настройки из основного конфигурационного файла, который называется named.conf и расположен в каталоге /etc/bind. В основном конфиге описывается рабочий каталог асервера, зачастую это каталог /var/cache/bind, в котором лежат файлы описания зон и другие служебные файлы. Соответствиеназвания зоны и файла описания зоны задает раздел zone с параметром file. Раздел zoneтак же задает тип ответственности данного сервера за зону (master, slave и др.), а так же определяет особые параметры для текущей зоны (например, на каком интерфейсе обрабатывать запросы для текущей зоны). В файлах описания зон содержатся параметры зон и записи ресурсов (пути, указанные в данном абзаце могут отличаться, это зависит от дистрибутива Linux или параметров сборки сервера из исходников).
Эта общая схема работы, которая поможет в дальнейшем не запутаться, при рассмотрении конкретных конфигураций.
Формат файла конфигурации для 4-ой версии программы отличается от того, который применяется в восьмой и девятой версиях BIND. Учитывая, что я рассчитываю на установку нового DNS сервера, а старую версию смысла ставить не вижу, посему буду рассматривать конфиг новой версии.
Главный (master) сервер зоны
Основной конфиг содержит следующие настройки:
Отдельно хочется описать параметр allow-transfer < 10.0.0.191; >;. Данный параметр описывает серверы, которым разрешено скачивать копию зоны – т.н. slave серверА. В следующем примере мы разберем настройку slave DNS.
Для корректной работы логирования необходимо создать соответствующий каталог и присвоить необходимые права:
а так же в домене in-addr.arpa.
Тестирование DNS домена
Сайты, утилиты и програмы для тестирования DNS домена:
Ниже описано как и чем можно протестировать DNS.
Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Колисниченко Д. Н.
Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Колисниченко Д. Н.
СПб.: Наука и Техника, 2004. - 400 с: ил.
Серия «Просто о сложном»
Данная книга является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей. С ее помощью вы узнаете, как спроектировать и настроить сеть в зависимости от своих задач и возможностей, какое оборудование использовать, какие программы применять. Для этого в книге все есть: от монтажа сети и конфигурирования сетевой карты до настройки сервера сети и организации общего подключения локальной сети к Интернету. Доступно и «со знанием дела» описываются все основные сетевые сервисы: DHCP, DNS, WINS, Active Directory и другие, указывается, зачем они нужны и что делают.
Автор обладает огромным опытом создания и сопровождения сетей, а потому не понаслышке знаком со всеми особенностями этого процесса. Своим опытом он делится с вами и рассматривает множество «жизненных ситуаций». Например, вы узнаете, как настроить сеть, чтобы в ней одновременно работали и Windows-машины и Linux-машины, выясните, как организовать доступ к локальной сети (офиса) из удаленного места (дома), а также много другого. Наконец, вы научитесь выявлять и решать возникающие проблемы.
Книга написана простым и доступным языком. Предназначена начинающим сетевым администраторам, а также всем, кто хочет знать, как настраивается компьютерная сеть.
Эта книга продолжает оставаться предметом первой необходимости как для администраторов, работающих с DNS ежедневно, так и для пользователей, желающих узнать больше о принципах работы сети Интернет: "Пятое издание – снова пятерка!
Эта книга продолжает оставаться предметом первой необходимости как для администраторов, работающих с DNS ежедневно, так и для пользователей, желающих узнать больше о принципах работы сети Интернет: "Пятое издание – снова пятерка! Крикет и Пол еще раз отлично поработали над обновлением книги по DNS и BIND. Хотите знать мое мнение? Это – авторитетный труд по DNS и BIND." (Эрик Хендриксон, Amazon.com)
Рассмотрены следующие темы:
* Что делает система DNS, как она работает и когда ее требуется применять.
* Как найти свое место в пространстве имен сети Интернет.
* Установка и настройка DNS-серверов.
* Использование MX-записей для маршрутизации электронной почты.
* Настройка клиентов на использование определенных DNS-серверов.
* Деление доменов на поддомены.
* Обеспечение безопасности DNS-сервера: ограничение доступа к серверу, предотвращение не-санкционированной передачи зон, борьба с серверами-самозванцами и т.д.
* Расширения безопасности DNS (DNSSEC) и транзакционные подписи (TSIG).
* Отображение одного имени в несколько адресов с целью распределения нагрузки.
* Динамические обновления, асинхронные уведомления об изменениях зоны, а также пошаговая передача зон.
* Разрешение проблем: использование nslookup и dig, чтение отладочной диагностики, распро-страненные проблемы.
* Программирование DNS при помощи библиотеки DNS-клиента и модуля Net::DNS языка Perl.
Об авторах
Крикет Ли – выпускник Калифорнийского университета в Беркли, великого оплота свободы речи, беспрепятственного применения UNIX и дешевой пиццы. Закончив учебу, Крикет пришел в компанию Hewlett-Packard, где и проработал девять лет.
Крикет стал администратором зоны hp.com после землетрясения Лома Приетта. В результате повреждения системы пожаротушения лаборатории HP были затоплены, и управление зоной перешло штаб-квартире HP. Крикет более трех лет работал по адресу hostmaster@hp.com, после чего вступил в HP’s Professional Services Organiza-tion и стал одним из сооснователей программы HP по консультированию по сети Интернет (Internet Consulting Program).
В 1997 году он покинул HP, чтобы со своим другом (а теперь и соавтором) Мэттом Ларсоном создать компанию Acme Byte & Wire, которая занималась консультированием и обучением в области DNS. В июне 2000 г. компа-ния Network Solutions приобрела Acme и в тот же день объединилась с компанией VeriSign. Крикет год прорабо-тал директором по DNS-продуктам в VeriSign Global Registry Services.
В марте 2003 года он перешел в Infoblox – компанию, создающую DNS- и DCHP-устройства, где в настоящее время занимает пост вице-президента по архитектурным вопросам. Крикет живет в Калифорнии.
DNS и BIND" воистину стала библией для каждого системного администратора, и это доказано временем. Книга выдержала четыре издания И даже те, кто уже купил второе и третье издание, признаются, что обязательно купят и четвертое. Потому что уникальное по полноте содержание в сочетании с нетривиальным авторским стилем и доступным способом изложения, делают книгу незаменимой и актуальной для каждого, кто хочет наладить эффективную работу DNS. Данное издание включает информацию о версии 9 пакета BIND, в которой реализованы новые и очень важные механизмы, а также о версии 8, входящей в состав большинства действующих коммерческих разработок. Пакеты BIND 8 и 9 значительно повышают безопасность служб DNS. Эта книга будет полезна как администраторам, ежедневно работающим с DNS, так и пользователям, желающим более подробно изучить принципы работы Интернета. В ней рассмотрены функциональность, принципы работы, причины использования DNS. поиск собственного места в пространстве имен Интернета. установка и настройка серверов имен. применение MX-записей для маршрутизации почты. настройка узлов на работу с DNS. разделение доменов на поддомены. обеспечение безопасности DNS. новые возможности BIND 9. расширения системы безопасности DNS (DNSSEC) и подписи транзакций (TSIG). распределение нагрузки между серверами имен. динамические обновления, асинхронные уведомления об изменениях зон, пошаговая передача зон. устранение неполадок (применение nslookup и dig, чтение отладочного вывода). DNS-программирование с применением библиотеки поискового анализатора и Perl-модуля Net DNS.
Год выпуска: 2008
Автор: Крикет Ли, Альбитц Пол
Издательство: O'Reilly Символ-Плюс
ISBN: 5-93286-105-3
Формат: PDF
Количество страниц: 709
Язык: русский
Новое издание библии для системных администраторов! Предыдущие издания этой книги специалисты встречали с неизменным интересом:
"Действительно очень хорошая книга. Если вы только начинаете интенсивно работать с DNS - книга очень поможет, а если уже пару лет вовсю DNS'ничаете - то послужит очень неплохим справочником."
"Редкий пример книги, в которой очень мало воды несмотря на солидный объем. ВОТ ТАК надо писать книжки по компьютерной.
Новое издание библии для системных администраторов! Предыдущие издания этой книги специалисты встречали с неизменным интересом:
"Действительно очень хорошая книга. Если вы только начинаете интенсивно работать с DNS - книга очень поможет, а если уже пару лет вовсю DNS'ничаете - то послужит очень неплохим справочником."
"Редкий пример книги, в которой очень мало воды несмотря на солидный объем. ВОТ ТАК надо писать книжки по компьютерной тематике."
"Книга - супер. После ее прочтения все аспекты DNS, которые были непонятны или двусмысленны прояснились."
В пятом издании рассматривается BIND версии 9.3.2, самой последней версии в ветви BIND 9, а также BIND версии 8.4.7. BIND 9.3.2 включает усовершенствования безопасности и поддержки транспорта IPv6 и ряд новых возможностей, таких как использование имен доменов, содержащих буквы национальных алфави-тов, ENUM (электронный телефонный справочник) и SPF (Sender Policy Framework).
Рассмотрены следующие темы:
- Что делает система DNS, как она работает и когда ее требуется применять.
- Как найти свое место в пространстве имен сети Интернет.
- Установка и настройка DNS-серверов.
- Использование MX-записей для маршрутизации электронной почты.
- Настройка клиентов на использование определенных DNS-серверов.
- Деление доменов на поддомены.
- Обеспечение безопасности DNS-сервера: ограничение доступа к серверу, предотвращение не-санкционированной передачи зон, борьба с серверами-самозванцами и т.д.
- Расширения безопасности DNS (DNSSEC) и транзакционные подписи (TSIG).
- Отображение одного имени в несколько адресов с целью распределения нагрузки.
- Динамические обновления, асинхронные уведомления об изменениях зоны, а также пошаговая передача зон.
- Разрешение проблем: использование nslookup и dig, чтение отладочной диагностики, распро-страненные проблемы.
- Программирование DNS при помощи библиотеки DNS-клиента и модуля Net::DNS языка Perl.
Об авторах
Крикет Ли – выпускник Калифорнийского университета в Беркли, великого оплота свободы речи, беспрепятственного применения UNIX и дешевой пиццы. Закончив учебу, Крикет пришел в компанию Hewlett-Packard, где и проработал девять лет.
В 1997 году он покинул HP, чтобы со своим другом (а теперь и соавтором) Мэттом Ларсоном создать компанию Acme Byte & Wire, которая занималась консультированием и обучением в области DNS. В июне 2000 г. компа-ния Network Solutions приобрела Acme и в тот же день объединилась с компанией VeriSign. Крикет год прорабо-тал директором по DNS-продуктам в VeriSign Global Registry Services.
В марте 2003 года он перешел в Infoblox – компанию, создающую DNS- и DCHP-устройства, где в настоящее время занимает пост вице-президента по архитектурным вопросам. Крикет живет в Калифорнии.
Пол Альбитц - разработчик программного обеспечения в компании Hewlett-Packard. Он получил степень бакалавра наук в университете Висконсина (Ла-Крос) и магистра наук в университете Пердью.
Информатика - Учебное пособие для 7-11 классов - Гаевский А.Ю. - 2006
Информатика - Учебное пособие для 7-11 классов - Гаевский А.Ю. - 2006
В пособии в соответствии с программой по информатике для общеобразовательных школ изложены основные понятия информатики, устройство компьютеров, работа в операционных системах Windows 9.Х/2000 и MS-DOS. Описаны компьютерные технологии подготовки текстовых документов (Блокнот, Word), создания графических изображений (Paint), вычислений в электронных таблицах (Excel), работы с базами данных (Access). Большое внимание уделяется вопросам компьютерных коммуникаций, Интернету, работе с электронной почтой, созданию HTML-документов и Web-сайтов. Изложены учебные вопросы моделирования на компьютере, составления алгоритмов и программ, работы в средах программирования Quick Basic и Turbo Pascal.
Предназначено для учеников общеобразовательных средних школ, лицеев, гимназий, а также для широкого круга пользователей персональных компьютеров.
Параметры (синтаксис) named.conf
Синтаксис файла named.conf придерживается следующих правил:
IP-адреса – список IP должен быть разделен символом “;” , возможно указывать подсеть в формате 192.168.1.1/24 или 192.168.1.1/255.255.255.0, (для исключения IP перед ним нужно поставить знак !), возможно указывать имена “any”, “none”, “localhost” в двойных кавычках.
В файлах описания зон – символ @ является “переменной” хранящей имя зоны, указанной в конфигурационном файле named.conf или в директиве @ $ORIGIN текущего описания зоны.
Каждая завершенная строка параметров должна завершаться символом ; .
Раздел Acl
Acl (access control list) – позволяет задать именованный список сетей. Формат раздела: acl “имя_сети” ;
Раздел Options
Раздел Options задает глобальные параметры конфигурационного файла, управляющие всеми зонами. Данный раздел имеет формат: options ;. Options может быть “вложен” в раздел Zone, при этом он переопределяет глобальные параметры. Часто используемые операторы options:
- allow-query список_ip> – Разрешает ответы на запросы только из список_ip. При отсутствии – сервер отвечает на все запросы.
- allow-recursion список_ip> – На запросы из список_ip будут выполняться рекурсивные запросы. Для остальных – итеративные. Если не задан параметр, то сервер выполняет рекурсивные запросы для всех сетей.
- allow-transfer список_ip> – Указывает список серверов, которым разрешено брать зону с сервера (в основном тут указывают slave сервера)
- directory /path/to/work/dir – указывает абсолютный путь к рабочему каталогу сервера. Этот оператор допустим только в разделе options.
- forwarders ip порт, ip порт...> – указывает адреса хостов и если нужно порты, куда переадресовывать запросы (обычно тут указываются DNS провайдеров ISP).
- forward ONLY или forward FIRST – параметр first указывает, DNS-серверу пытаться разрешать имена с помощью DNS-серверов, указанных в параметре forwarders, и лишь в случае, если разрешить имя с помощью данных серверов не удалось, то будет осуществлять попытки разрешения имени самостоятельно.
- notify YES|NO – YES – уведомлять slave сервера об изменениях в зоне, NO – не уведомлять.
- recursion YES|NO – YES – выполнять рекурсивные запросы, если просит клиент, NO – не выполнять (только итеративные запросы). Если ответ найден в кэше, то возвращается из кэша. (может использоваться только в разделе Options)
Раздел Zone
Определяет описание зон(ы). Формат раздела: zone операторы_раздела_zone>;Операторы, которые наиболее часто используются:
- allow-update список_ip> – указывает системы, которым разрешено динамически обновлять данную зону.
- file “имя_файла” – указывает путь файла параметров зоны (должен быть расположен в каталоге, определенном в разделе options оператором directory)
- masters список_ip> -указывает список мастер-серверов. (допустим только в подчиненных зонах)
- type “тип_зоны” – указывает тип зоны, описываемой в текущем разделе,тип_зоны может принимать следующие значения:
- forward – указывает зону переадресации, которая переадресовывает запросы, пришедшие в эту зону.
- hint – указывает вспомогательную зону (данный тип содержит информацию о корневых серверах, к которым сервер будет обращаться в случае невозможности найти ответ в кэше)
- master – указывает работать в качестве мастер сервера для текущей зоны.
- slave – указывает работать в качестве подчиненного сервера для текущей зоны.
Дополнительные параметры конфигурации
Значения времени в файлах зон по умолчанию указывается в секундах, если за ними не стоит одна из следующих букв: S – секунды, M – минуты, H- часы, D – дни, W – недели. Соответственно, запись 2h20m5s будет иметь значение 2 часа 20 минут 5 секунд и соответствовать 8405 секунд.
В конфигурационных файлах BIND могут применяться следующие директивы:
- $TTL – определяет TTL по-умолчанию для всех записей в текущей зоне.
- $ORIGIN – изменяет имя зоны с указанного в файле named.conf. При этом, область действия данной директивы не распространяется “выше” (то есть если файл включен директивой $INCLUDE, то область действия$ORIGN не распространяется на родительский)
- $INCLUDE – включает указанный файл как часть файла зоны.
Для того чтобы локальный резолвер сервера тоже использовал локальный DNS, необходимо привести файл resolv.conf к следующему виду:
Если в имени ресурсной записи встречается символ “*”, то это он означает что вместо него можно подразумевать любую разрешенную последовательность символов. Такую запись называют “wildcard запись“. Однако, символ “*” не может быть использован где угодно. Это может быть только первый символ в поле Name текущего домена, отделенный от остальных символом “.”
Читайте также: