Прошу прощения, уважаемые читатели, за то что давно не было новых статей. Сегодня я решил поделиться с Вами деталями своего нового проекта.
Сейчас у малого, среднего и даже крупного бизнеса есть стремление к максимальному упрощению инфраструктуры и к вытеснению в облака практически всех необходимых сервисов. Размещение служб в крупных датацентрах способствует снижению издержек и уменьшает совокупную стоимость владения. И если 10 лет назад мы сидели в интернете через ADSL, а стомегабитные сети видели только в офисах, то сейчас 200-400 мегабит для домашнего интернета - не предел.
Разумеется, любая идея нуждается в обкатке.
Для начала - зачем нужна ферма контроллеров домена? Для обеспечения надёжности. Мы можем просто поднять контроллер домена в офисе - на одном компьютере. Но если с ним что-то случится, то все наши данные пропадут. Поэтому я предлагаю поставить основной контроллер домена в датацентре, а резервный - в офисе. В случае поломки резервного его можно будет очень просто заменить. Поскольку поднимать такой контроллер я бы предложил на одноплатном компьютере с установленной операционной системой FreeBSD или Debian Linux (для Raspberry Pi - Raspbian, для прочих - Armbian). Вот так выглядит такой компьютер.
Загружается такой компьютер с обычной SD Flash. Есть варианты с MicroSD. Работает бесшумно, да и места много не занимает.
А если у нас нет офиса, а только один сотрудник? Например, системный администратор. Тогда ему и отдельный контроллер домена не нужен - он может подключиться к датацентру напрямую. Вот какая схема получилась в итоге моих размышлений.
Для тех, кто не в курсе: сервер Radius служит для идентификации клиентов. Так, например, к нему часто привязывают точки Wi-Fi. Учётные данные он обычно хранит в базе LDAP или MySQL - нам предпочтительнее второй вариант, поскольку в этом случае мы можем заводить учётные записи клиентов через сайт.
Изначально я пытался запустить контроллеры домена на базе пакета Samba в окружении FreeBSD Jail, но к сожалению у меня это не получилось и я перешёл на Debian, запустив клиентов в контейнерах LXC. Увы, PoPToP из стандартной поставки отказался поддерживать протокол MS-Chap-V2 (как я позднее выяснил, из-за программы ppp, на которую надо накладывать патчи и пересобирать заново). Тем временем я разобрался с FreeBSD Jail и всё-таки сумел запустить в нём пакет Samba
Краткая справка:
FreeBSD Jail и Linux LXC - расширенные варианты вызова chroot, которые не просто запирают программу в каталоге, но и позволяют работать ей в отдельном окружении - и даже с отдельным сетевым стеком.
Samba - пакет для Linux и Unix, реализующий для них протокол SMB/CIFS, позволяющий им работать в сетях Windows - и даже выполнять роль контроллера домена. Начиная с версии Samba4 поддерживает RSAT
RSAT - Remote Server Admin Tool, утилита управления серверами Active Directory от компании Microsoft
Развёрнутый в виртуальной машине сервер показал очень низкое потребление ресурсов.
Осталось только провести испытания и понять, насколько такое решение способно работать в продакшене.
Ну и напоследок - видео о том, как ввести рабочую станцию системного администратора в домен, предварительно подключившись к нему по VPN.
Если Вам понравилась эта статья, приходите ещё. Мы рады читателям!