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

Что такое домен в локальной сети

Под доменом локальной сети принято понимать такую сеть, которая объединяет компьютеры под одной общей политикой безопасности и управляется централизовано. Таким образом при объединении компьютеров сети в рабочие группы взаимодействие машин основывается на принципе «клиент-клиент», а в домене это уже «клиент-сервер». В качестве сервера выступает отдельная машина, на которой хранятся все учетные записи пользователей сети. Так же можно хранить и профиль каждого пользователя.

Целесообразность организации такого доступа обусловлена несколькими факторами:

  • локальная сеть постоянно развивается и количество пользователей растет;
  • видоизменяется топология и география сети;
  • необходимо разграничить доступ к ресурсам для каждого пользователя или группы;
  • контроль за использованием ресурсов глобальной сети интернет.

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

Если ЛВС организована на основе Microsoft Windows Server, то служба, которая отвечает за контролер домена называется AD (Active Directory), если под управлением *nix (Unix, Linux, FreeBSD) служба управляющая пользователями имеет название LDAP (Lightweght Directory Access Protocol).

Создание контроллера домена под Windows Server 2003/2008

Теперь разберемся, как создать домен в локальной сети. После того, как на сервер установлена операционная система и проведены предварительные настройки, можно приступить к конфигурации службы Active Directory:

  • Серверу задается статический IP, желательно в начальном диапазоне адресов подсети.
  • Устанавливаются компоненты, которые отвечают за работу сервера, если они не были установлены раньше — Active Directory, DNS, DHCP, WINS.
  • Следующий шаг — это установка непосредственно контролера домена. Для этого нужно:
  • открыть «Диспетчер сервера» и нажать ссылку «Добавить роли»;
  • в открывшемся диалоговом окне нужно проставить галочки напротив установленных служб, чтобы мастер конфигурации смог провести настройки, добавил службы в автозапуск и другие служебные действия.
  • После того как службы были установлены в «Диспетчере сервера» под ролями сервера их можно будет увидеть. При этом будет висеть ошибка запуска напротив «Доменные службы Active Directory».
  • Избавиться от ошибки поможет «Мастер установки доменных служб», который запускается из командной строки «Пуск — Выполнить — cmd — dcpromo».
  • Пропустив несколько информационных окон, поставить переключатель на «Создать новый домен в новом лесу».
  • Следующий шаг — это придумать имя домена. О правилах выбора доменных имен написано множество статей в интернете, но все они сводятся к одному: при выборе имени необходимо придерживаться соглашения и стандартов ICANN.
  • После проверки имени на совпадения в сети, требуется выбрать режим совместимости работы сервера.
  • В следующем шаге мастер предупредит о том, что дополнительно будет настроен DNS сервер и на вопрос о делегировании соглашаемся.
  • Дальше нужно будет выбрать каталоги, в которых будут располагаться базы данных. Можно оставить по умолчанию или выбрать другое размещение.
  • И напоследок придумать и ввести пароль для учетной записи «Администратор».
  • Это все действия, которые надлежит проделать для настройки домена в локальной сети. После того как мастер завершит работу, желательно будет перегрузить машину и войти в домен под учетной записью администратора для дальнейшей конфигурации пользователей и политик безопасности.

    Иногда происходит такая ситуация, что компьютер не определяет сеть, вернее ставит статус «Неопознанная сеть». Ситуация возникает из-за того, что сервер замыкает DNS сам на себя, т.е. на петлю с адресом 127.0.0.1. Чтобы избавиться от этого, необходимо в настройках соединения указать в качестве DNS адрес сервера в локальной сети.

    Организация работы ЛВС в доменной зоне процесс не сложный, но хлопотный. После настройки сервера не забываем ввести все рабочие станции в доменную зону. Дальнейшие действия по организации сети зависят от текущих нужд, но значительно упростят работу администратору и снимут ряд вопросов от пользователей.

    В прошлый раз мы установили и настроили Систему виртуализации Proxmox-VE.
    Список цикла статей:

    Предисловие

    В данной статье мы установим отдельный контейнер LXC, я кратко расскажу чем контейнеры отличаются от обычных виртуальных машин.
    Установим и настроим сервис для обработки доменных имен в своей локальной сети.
    Настроим роутер(MikroTik) и сеть для того, чтобы наши устройства в локальной сети могли находить наши доменные имена.
    И для примера настроим наш PVE1(сам сервер) для доступа к нему по доменному имени, а не IP адресу

    Для чего вообще это делать?
    В общих чертах это не обязательно, но намного приятнее обращаться к своим сервисам по привычному доменному имени, а не IP адресу.
    Например к медиасервису Plex я обращаюсь по адресу plex.gregory-gost.ru, а не 192.168.88.8:32400/web. Согласитесь удобнее 🙂

    Вроде ничего не упустил 🙂 Кому интересно прошу далее под кат!
    Текста много, предупреждаю сразу 😉

    Установка контейнера LXC в Proxmox-VE

    Для того, чтобы наш DNS сервис работал самостоятельно и не зависел от наших попыток, что-то сломать сделать, я его установил в отдельный LXC контейнер(виртуальную среду).

    Начнем мы с добавления в наш сервер специального шаблона(Template) операционной системы. В Proxmox их можно скачать из своих репозиториев.
    Откроем панель управления через WEB по IP адресу. И перейдем к нашему хранилищу Local(pve1), потом переходим к содержимому(Content) и нажмем кнопку Шаблоны(Templates)
    Добавление шаблона Т.к. наш Proxmox основан на ОС Debian, то я принял для себя решение использовать LXC Debian 9 версии. Мне с ними удобнее работать.
    Находим нужный шаблон и грузим его.
    Находим наш шаблон и загружаем его Нам остается только подождать окончания загрузки.
    Окончание загрузки

    Начинаем установку.
    Нажимаем нужную кнопку Проводим действия по настройке контейнера

    Установка и настройка DNS сервиса BIND9

    Ждем окончания установки и пока останавливаем сервис

    Для того, чтобы все работало как нужно в моей нашей сети, необходимо продумать как будут проходить запросы от сети с другим шлюзом и другим роутером обрабатывающим основные DNS запросы не относящиеся к нашей локальной сети.
    Согласно статьи: Создание домашней сети на базе устройств MikroTik: Часть 7 – Firewall правильное перенаправление портов в сети с двумя шлюзами

    Необходимо сделать так, чтобы локальный DNS сервис корректно обрабатывал локальное доменное имя, а остальные запросы отправлял основному роутеру(шлюзу)

    Все файлы настроек и зон в bind9 находятся по пути /etc/bind/

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

    Т.к я пока не планирую выводить работу BIND9 на IPv6, то я запустил службу только для IPv4. Для этого необходимо добавить опцию запуска в файл /etc/default/bind9
    Добавляем опцию -4 в параметр OPTIONS

    Правим основной файл настроек named.conf:

    Создаем отдельный файл named.conf.acl:
    Acl (access control list) – позволяет задать именованный список сетей. Формат раздела: acl “имя_сети” ;
    У меня пока две разделенные зоны, но с одной подсетью, соответственно разделяю по выделенным диапазонам. Я прописывал все выделенные IP адреса.

    Файл named.conf.options уже есть, проводим некоторые настройки:

    Создаем отдельный файл named.conf.logging:
    В этом разделе описывается условие ведения журнала.

    На файле named.conf.local-zones я бы хотел остановится немного подробнее. Именно в данном файле мы определяем направления. Именно в этом файле указываются сами зоны с доменными именами и правила их обработки. Как я уже писал, у меня всего две зоны и именно для двух зон мне необходимо сделать идентичные описания, но с различными параметрами.

    Переименуем стандартный файл named.conf.local в named.conf.local-zones

    И отредактируем файл named.conf.local-zones:

    Файл rndc.conf создавать не обязательно, но если вы хотите изменить ключ rndc.key, то можно воспользоваться данным механизмом.
    Необходимо подать команду:

    Содержимое файла выглядит так:

    Блок key “rndc-key” это и есть содержимое файла ключа rndc.key. Потому вы можете скопировать этот текст в файл rndc.key

    С файлами настроек разобрались, теперь необходимо создать нужные папки и переместить туда базовые файлы с описанием зон.
    Создаем папки:

    Переносим файлы с описанием базовых зон:

    Переносим базовые файлы ключей:

    Теперь самое интересное, а именно описание доменных зон!

    Описание локальных доменных зон

    У нас уже есть базовые доменные зоны и мы указали в файле конфигурации наши локальные зоны. Возможно вы это заметили в файле named.conf.local-zones
    Пункты:

    Соответственно нам необходимо создать два файла:
    1. /etc/bind/zone/db.gregory-gost.ru
    2. /etc/bind/zone/db.gregory-gost.ru.inverse
    Эти два файла называются зонами прямого просмотра и зонами обратного просмотра. Почему так? А потому что DNS работает в обе стороны! Вы можете попасть через доменное имя, как на IP адрес так и наоборот, проверить IP адрес на привязку к нему доменного имени.

    Представляю вам файл зоны прямого просмотра:

    Остался файл зоны обратного просмотра:

    Сохраняем все наши файлы и пробуем запустить сервис BIND9

    Для проверки работает или нет, сначала проверяем сервис

    Если видим что-то похожее значит все ок

    После правки файлов зон, необходимо обнулить кеш и обновить файлы зон:

    И не забывайте менять строку Serial при каждом внесении изменений!

    Теперь проверим, как резолвится доменное имя:

    В ответ получите, что-то такое:

    Все хорошо. Займемся настройкой сети, ведь мы хотим, чтобы локальные доменные имена работали на всех наших локальных устройствах (умеющих работать с DNS)

    Настройка локальной сети для обработки внутренних DNS запросов

    Локальная сеть настраивается достаточно просто.
    Вам необходимо указать IP адрес LXC контейнера, как основной DNS сервер. Его будут получать клиенты через DHCP.
    Для устройств со статическими IP настройками, необходимо DNS прописать вручную.

    Я покажу, как добавить DNS в DHCP сервер, на примере своего роутера MikroTik

    Открываем Winbox или терминал, подключаемся к нашему роутеру и идем по пути: IP -> DHCP Server вкладка Networks
    Добавляем IP адрес нашего BIND9 выше IP роутера Консольно:

    Далее обновляем аренду для всех клиентов или какого-то одного для проверки.

    Например в Windows 10 можно запустить командную строку(cmd) и проверить получение DNS:

    Видим строку DNS-серверы. . . . . . . . . . . : 192.168.88.7 значит наш ПК получает DNS корректно.

    Но для нормального открытия WEB страницы по доменному имени этого еще не достаточно!
    Необходимо, чтобы на целевом IP адресе, WEB интерфейс корректно обработал такой запрос.
    Давайте на примере основной хост машины PVE, попробуем получить к ней доступ через указанное нами доменное имя pve1.gregory-gost.ru.

    Настройка открытия WEB интерфейса Proxmox-VE по доменному имени

    Для того, чтобы запрос к доменному имени был обработан корректно, нам необходимо настроить специальный сервис, который будет за это отвечать.
    Этот сервис nginx. Очень мощная штука по которой пишут не маленькие мануалы. Поэтому мы ограничимся самым простым функционалом.

    Переходим к консоли хост машины:
    Нам нужна консоль хостовой машины

    Проверка IP адреса

    Для начала давайте поставим nginx:

    Файлы nginx хранит по пути /etc/nginx/:

    Давайте удалим базовую WEB страницу, она нам не нужна

    Ничего страшного это всего лишь simlink, оригинал лежит тут: /etc/nginx/sites-available/default

    Все файлы дополнительных конфигураций можно располагать в папке /etc/nginx/conf.d/
    Она как раз подключена в основном файле конфигурации.

    Создадим файл настройки для нашего PVE1:

    Заполним его такими настройками

    В общем основная суть того, что происходит.
    При запросах по доменному имени pve1.gregory-gost.ru мы попадаем на 80 порт(стандартный HTTP) и нас перенаправляет на 443 порт(HTTPS) на котором работает WEB Proxmox-VE.
    Ну а там запрос поступает уже на свой внутренний адрес и порт: https://localhost:8006 при этом для нас, все скрыто за кулисами nginx 🙂
    По сути, именно таким образом все это и работает.

    Открытый WEB через доменное имя

    Заключение

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

    Мне остается только напомнить про дальнейшие шаги по реализации своего домашнего сервера:

    1. Torrent Transmission — качалка торрентов.
    2. Plex Mediaserver — домашний медиа сервер.
    3. The Dude — мониторинг девайсов в домашней сети.
    4. Openhab2/Node-RED — домашний IoT.
    5. Vault13 — контейнер для экспериментов.
    6. FreePBX (Asterisk) — IP телефония.

    Благодарю за ваше время!
    Всего хорошего на просторах Интернета 😉

    Чтобы присвоить устройству (хосту) в локальной сети доменное имя, необходимо сделать следующее:

    1. Зарегистрировать на интернет-центре и присвоить постоянный IP-адрес необходимому хосту. Регистрацию можно выполнить в веб-конфигураторе на странице "Список устройств". Подробности вы найдете в статье "Регистрация устройств в домашней сети". После регистрации указанное устройство будет постоянно получать один и тот же IP-адрес от интернет-центра.

    2. Далее нужно подключиться к интерфейсу командной строки (CLI) интернет-центра и выполнить следующие команды:

    Доменное имя хоста нужно указать в формате localhost.localdomain (например: my.comp, test.local, host.test, pc.example).

    в нашем примере my.comp – доменное имя хоста с IP-адресом 192.168.1.33

    После выполнения указанных выше действий в локальной сети интернет-центра Keenetic можно будет обращаться к нужному хосту по доменному имени.

    Например, выполним пинг хоста по доменному имени в Linux OS:

    Например, выполним пинг хоста по доменному имени в Windows OS:

    NOTE: Важно! Если до хоста my.comp не доходят пакеты ICMP Echo-Request в утилите Ping, необходимо проверить настройку разрешающего правила фильтрации брандмауэра (firewall) на стороне хоста my.comp для протокола ICMP ( Internet Control Message Protocol).

    NOTE: Важно! Данная схема будет работать только в том случае, если на хостах, с которых идет обращение к my.comp, в качестве предпочитаемого DNS-сервера установлен IP-адрес интернет-центра Keenetic.

    В интернет-центрах Keenetic можно добавить до 64 записей с помощью команды ip host

    Также в интернет-центрах Keenetic реализована DHCP Option 15, которая позволяет передавать клиентскому хосту от DHCP-сервера имя домена, которое будет добавляться при обращении с этого хоста к ресурсу по имени, которое не имеет домена. Подробности вы найдете в статье "Настройка DHCP Option 15".

    Пользователи, считающие этот материал полезным: 9 из 11