Развёртывание DNS/DDNS и DHCP сервера на ROSA Enterpise Linux Server
ВНИМАНИЕ: СТАТЬЯ В ПРОЦЕССЕ ФОРМАТИРОВАНИЯ!
В данной статье будет описано развёртывание стандартного сервера DNS и сервера DHCP в ЛВС вашей компании, а также сервера с поддержкой технологии динамического DNS. Обе этих темы будут последовательно рассмотрены в описываемом материале на примере ROSA Enterprise Linux Server (далее RELS) и инструментов с ним идущих. Это первая статья из серии, описывающей применение RELS в условиях реальных предприятий.
Зачем оно надо?
Для постоянно обитающей здесь публики не будет секретом, что рано или поздно системным администраторам с ростом инфраструктуры приходится сталкиваться с тем, что имеющимся хозяйством надо как-то управлять. Самое логичное решение — внедрение серверов DNS и DHCP внутри интрасети. Но тогда встаёт другой вопрос, как это можно поддерживать быстро и просто, без долгого и мучительного чтения документации по серверу BIND, dhcpd и траты времени на написание скриптов которые будут худо-бедно синхронизировать работу этих двух демонов? В идеале нам требуется настроить всё один раз и более не притрагиваться к этому. То есть, всё должно быть максимально автоматизировано. В RELS для решения этой задачи имеется удобный и весьма простой инструмент для настройки серверов DHCP и DNS серверов, коим мы и воспользуемся. В качестве бонуса, я расскажу и покажу как можно очень удобно организовать управление локальной сетью с помощью DHCP и DynamicDNS.
Разбегаемся!
Для развёртывания собственного сервера имён (named server) в локальной сети предприятия, нам потребуется уже упомянутый RELS, а также установленный и сконфигурированный ROSA Directory Server. Здесь нет смысла описывать установку всей системы «from scratch», так что сразу перейдём к фазе выбора пакетов опуская предшествующую ей процедуру размётки и выбора некоторых общих для ОС настроек. Единственное замечание которое хотелось бы сделать, что при развёртывании сервера с самого начала, на этапе выбора пакетов для устанавливаемой системы необходимо выбрать два пункта: «Платформа сервера» и «ROSA Directory Server», как на иллюстрации ниже.
Далее, пропуская описание многим знакомого процесса установки системы и создания пользователей, мы перейдём непосредственно к настройке сервера DNS. После установки ОС и первого входа из под обычного пользователя, нашему взору откроется рабочий стол с иконкой ROSA Server Setup. Теперь сделаем небольшое отступление и оговорим параметры настройки:
Сервер и компьютеры обслуживаемые сервером DNS у нас располагается в подсети 192.168.100.0/24, сам настраиваемый сервер имеет адрес 192.168.100.1; В качестве имени домена будет выбрано rosa.int; FQDN имя сервера будет полностью совпадать с именем домена; Имя основного сервера имён будет ns.rosa.int;
Перед настройкой сервера DNS необходимо проверить вывод команды hostname -f. Если вывод будет выдавать какую-либо ошибку вроде «hostname: Сбой поиска имени хоста» или что-либо ещё, не соответствующее заданному имени сервера, то необходимо открыть вашим любимым текстовым редактором файл /etc/hosts и добавить:
192.168.100.1 rosa rosa.int
Это связано с тем, что ROSA Directory Server при установке требует проверку на наличие FQDN-имени для того узла, на котором будет располагаться сервер DNS.
А теперь — взлетаем! Настройка сервера DNS.
Итак, приступаем непосредственно к процедуре развёртывания и настройки. Щелкаем по значку ROSA Server Setup на рабочем столе, после чего будет запущен браузер Firefox с предупреждением о неверном сертификате. Добавляем наш сервер в исключения, после чего попадаем на страницу входа в веб-интерфейс, отвечающего за установку и начальное развёртывание необходимых компонентов требуемых для выполнения задачи. После добавления сертификата в исключения, мы попадаем на страницу входа в консоль развёртывания компонентов, где после ввода логина и пароля пользователя root мы увидим два блока: «ROSA Directory Server» и «Службы и инструменты сервера». Для установки и первичной настройки сервера DNS, нам нужно выбрать блок «ROSA Directory Server», который располагается слева. В появившемся списке компонентов сервера, требуется выбрать компонент «DNS сервер с RDS backend» в секции «Сетевые модули», затем нажать «Установить компоненты». Запустится мастер настройки в котором сначала будет проведена процедура проверки наличия необходимых пакетов и в случае их отсутствия они будут автоматически загружены из Интернета.
Для завершения процедуры, необходимо нажать на кнопку продолжения, после чего мы попадём на следующий этап мастера настройки. Здесь нам будет предложено задать FQDN-имя домена ROSA Directory Server и указать сеть которой будет позволено обслуживать рекурсивные запросы. Обязательно нужно ввести пароль в поле «Пароль RDS». В дальнейшем он нам потребуется для того, чтобы мы могли войти в консоль администрирования ROSA Management Console, где будут произведены ряд завершающих настроек. По окончанию внесения необходимых данных следует нажать кнопку «Продолжить», после чего будет совершён переход на страницу входа консоли управления компонентами сервера. Если по каким-то причинам это потребуется сделать позже, то продолжить настройку DNS можно из главного меню, раздел «Администрирование». Там есть значок ROSA Management Console. Пример заполнения формы на скриншоте ниже.
Если не успели забыть, в начале статьи я писал о том, что перед настройкой сервера необходимо внести небольшое исправление в файл /etc/hosts. Если у вас в процессе вылезла ошибка изображённая ниже, значит вы либо забыли это сделать, либо сделали это неправильно. Так что рекомендую в этом случае проверить содержимое /etc/hosts ещё раз.
Но вернёмся к дальнейшей настройке. После завершения установки вы будете переброшены на главную страницу входа в ROSA Magement Console автоматически. Настройки зон и сервера имён будут заданы согласно тем параметрам, которые оговаривались в самом начале статьи. Следует помнить, что ваши настройки сети могут отличаться. Для настройки переходим в раздел «Сеть»>»Добавить зону DNS». Для этого нужно посмотреть в верхнюю часть экрана. Либо если взглянуть чуть ниже, то нужный пункт будет сразу перед глазами.
Задаются следующие параметры: FQDN-имя зоны DNS Описание Имя для первичного сервера DNS (в данном случае, текущего хоста) IP-адрес NS-сервера Сетевой адрес и маска подсети для обратной зоны.
Последний пункт также весьма нужен, если мы собираемся в дальнейшем создавать сервер DNS в связке с сервером DHCP.
После указания необходимых нам параметров, нажимаем «Создать». В случае успешной и корректной настройки будет выведено соответствующее сообщение, как на иллюстрации ниже.
Для проверки работы DNS теперь достаточно открыть ваш любимый эмулятор терминала либо cmd.exe, если вы используете Windows. Затем указать в настройках клиентской системы ваш только что настроенный сервер DNS и выполнить команду ping по имени сервера. В редких случаях может возникнуть проблема, когда служба DNS не применяет настройки, для этого достаточно перейти в раздел «Управление службами сети» и перезапустить сервер DNS. На этом проблема будет исчерпана.
Небольшое кунг-фу. Настраиваем Dynamic DNS.
Но помимо создания обычного сервера DNS, ROSA Server позволяет развернуть сервер с поддержкой Dynamic DNS. Для тех, кто немного не в курсе, небольшая выдержка из Википедии:
Динамический DNS — технология, позволяющая информации на DNS-сервере обновляться в реальном времени, и (по желанию) в автоматическом режиме. Она применяется для назначения постоянного доменного имени устройству (компьютеру, сетевому накопителю) с динамическим IP-адресом. Это может быть IP-адрес, полученный по DHCP или по IPCP в PPP-соединениях (например, при удалённом доступе через модем). Другие машины в Интернете могут устанавливать соединение с этой машиной по доменному имени и даже не знать, что IP-адрес изменился.
Процедура настройки чуть отличается от описанного нами выше. Первое отличие будет на экране выбора компонентов. Для развёртывания сервера с поддержкой DDNS необходимо выбрать пункт «поддержка DDNS для BIND с LDAP backend» в секции «Сетевые модули».
Как и в прошлый раз, после выбора необходимого нажимаем «Установить компоненты», где наблюдаем уже знакомую нам процедуру скачивания пакетов. После завершения процедуры, как и в прошлый раз, будет запущена процедура предварительной настройки компонентов. Прошу обратить внимание на предупреждение, появляющееся в самом конце, после установки компонентов относящихся к серверу DHCP.
Мастер настройки сообщает нам, что потребуется провести дополнительную настройку. Для этого переходим в административную консоль ROSA Management Console и открываем панель настройки зоны DNS, как и раньше. Здесь нас ждёт ещё одно отличие:
В самом низу, если обратите внимание, появляется ещё один пункт «Создать связанную DHCP-подсеть», который, собственно, создаёт подсеть которая будет управляться по DHCP.
После нажатия кнопки «Создать» нужно будет внести небольшие изменения в настройках. Для этого переходим во вкладку «DHCP-подсети» и открываем редактирование уже имеющихся настроек.
В самом низу открывшейся формы ищем надпись «Динамические пулы для незарегистрированных DHCP-клиентов» и нажимаем чекбокс напротив надписи. Вводим необходимые нам значения. Я обычно резервирую несколько адресов из верхнего диапазона под служебные нужды (дополнительные серверы, маршрутизаторы, и тому подобное). После чего нажимаем ещё ниже нажимаем на кнопку «Подтвердить».
Если этого не сделать, ни один клиент не сможет получить IP-адрес, а в /var/log/messages вы увидите сообщения такого рода: Nov 20 17:19:25 rosa dhcpd: DHCPDISCOVER from 08:00:27:98:b0:cf via eth0: network 192.168.100.0/24: no free leases Nov 20 17:19:34 rosa dhcpd: DHCPDISCOVER from 08:00:27:98:b0:cf via eth0: network 192.168.100.0/24: no free leases Nov 20 17:19:50 rosa dhcpd: DHCPDISCOVER from 08:00:27:98:b0:cf via eth0: network 192.168.100.0/24: no free leases
Прочие настройки относящиеся к настройке срока аренды, TFTP и другие вещи, можете настроить на своё усмотрение. Для проверки корректной работоспособности, достаточно того, что уже есть.
На момент написания этой статьи в интерфейсе Management Console существовал небольшой баг. В случае добавления пустого пула адресов, он всё равно сохранял настройки, но после этого DHCP-сервер уже не перезапускался. Поэтому необходимо быть внимательным. Позднее планируется добавить проверку вводимых значений в форму. Теперь, после настроек, заходим в раздел «Управление сетевыми службами» и перезапускам DHCP и DNS сервер. Как обычно, проверяем работу DNS командой ping. Чтобы удостовериться, что DDNS работает как надо, я ввёл в сеть Windows-машину с именем termit. Поскольку DHCP настроен корректно, система тут же получила необходимые настройки. А теперь проверяем работу DDNS:
[test@localhost ~]$ dig termit.rosa.int
- <<>> DiG 9.9.1-P2 <<>> termit.rosa.int
- global options
- +cmd
- Got answer
- ->>HEADER<< — opcode
- QUERY, status: NXDOMAIN, id: 41416
- flags
- qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
- OPT PSEUDOSECTION
- EDNS
- version: 0, flags:; udp: 4096
- QUESTION SECTION
- termit.rosa.int. IN A
- AUTHORITY SECTION
rosa.int. 3600 IN SOA ns.rosa.int. admin.rosa.int. 2012112003 172800 900 1209600 3600
- Query time
- 2 msec
- SERVER
- 192.168.100.1#53(192.168.100.1)
- WHEN
- Tue Nov 20 18:04:27 2012
- MSG SIZE rcvd
- 89
Как мы видим, в DNS появилась A-запись Windows-машины. В случае смены адреса, например, в случае истечения срока аренды IP-адреса после долгого периода отсутствия в сети, все реквизиты сменятся автоматически. При этом от администратора не потребуется никакого вмешательства. Абсолютно аналогичное произойдёт при добавлении в сеть компьютера с Linux на борту. Нужно лишь будет указать имя компьютера (хостнейм) отличное от localhost. Всё остальное сделает за вас ROSA Server.
Теперь вы можете развернуть в случае необходимости на таком хосте любой сервис и обращаться к нему по FQDN-имени, не задумываясь о том, что он внезапно может стать недоступным из-за смены адресации или о том, какой и кому присвоить адрес с для машины с работающим там сервисом.
Заключение
Надеюсь, этот туториал облегчит кому-то жизнь и сэкономит массу времени. Ещё один бонус самым любознательным. Если кому-то интересно в подробностях почитать про то, как устроена связка DDNS и DHCP в ROSA Server, можете почитать статью в wiki компании-разработчика этого решения.