Что такое разные леса домена. Что такое Active Directory, и как установить и настроить базу данных. Как повысить функциональный уровень домена через PowerShell

Эту заметку я пишу для того, чтобы продемонстрировать пошаговую установку и настройку виртуальной машины в Linux на базе KVM. Ранее я уже писал про виртуализацию, где использовал замечательный .

Сейчас передо мной встал вопрос аренды хорошего сервера с большим объёмом оперативной памяти и объёмным жестким диском. Но запускать проекты прямо на хост-машине не хочется, поэтому буду разграничивать их по отдельным небольшим виртуальным серверам с ОС Linux или docker-контейнерам (о них расскажу в другой статье).

Все современные облачные хостинги работают по такому же принципу, т.е. хостер на хорошем железе поднимает кучу виртуальных серверов, которые мы привыкли называть VPS/VDS, и раздаёт их пользователям, либо автоматизирует этот процесс (привет, DigitalOcean).

KVM (kernel-based virtual machine) это программное обеспечения для Linux, использующее аппаратные средства x86-совместимых процессоров для работы с технологией виртуализации Intel VT/AMD SVM.

Установка KVM

Все махинации по созданию виртуальной машины я буду проводить на ОС Ubuntu 16.04.1 LTS. Чтобы проверить поддерживает ли ваш процессов аппаратную виртуализацию на базе Intel VT/AMD SVM, выполняем:

Grep -E "(vmx|svm)" /proc/cpuinfo

Если терминал непустой, то значит всё в порядке и KVM можно устанавливать. Ubuntu официально поддерживает только гипервизор KVM (входит в состав ядра Linux) и советует использовать библиотеку libvirt в качестве инструмента по управлению им, что мы и будем делать дальше.

Проверить поддержку аппаратной виртуализации в Ubuntu также можно через команду:

В случае успеха, вы увидите что-то вроде этого:

INFO: /dev/kvm exists KVM acceleration can be used

Устанавливаем пакеты для работы с KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Если у вас есть доступ к графической оболочке системы, то можно установить GUI менеджер libvirt:

Sudo apt-get install virt-manager

Пользоваться virt-manager достаточно просто (не сложнее VirtualBox), поэтому в этой заметке речь пойдёт про консольный вариант установки и настройки виртуального сервера.

Установка и настройка виртуального сервера

В консольном варианте установки, настройки и управлением системой, незаменимым инструментом является утилита virsh (надстройка над библиотекой libvirt). У неё большое количество опций и параметров, подробное описание можно получить так:

Man virsh

или вызвать стандартный "help":

Virsh help

Я всегда придерживаюсь следующих правил при работе с виртуальными серверами:

  1. Храню iso образы ОС в каталоге /var/lib/libvirt/boot
  2. Храню образы виртуальных машин в каталоге /var/lib/libvirt/images
  3. Явно задаю каждой новой виртуальной машине свой статичный IP адрес через DHCP сервер гипервизора.

Приступим к установке первой виртуалки (64-битной серверной убунте 16.04 LTS):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Скачав образ запускаем установку:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --disk path=/var/lib/libvirt/images/ubuntu1604.img,size=20,bus=virtio

Переводя все эти параметры на "человеческий язык", то получается, что мы создаём виртуальную машину с ОС Ubuntu 16.04, 1024 МБ ОЗУ, 1 процессором, стандартной сетевой картой (виртуальная машина будет ходить в интернет как-будто из-за NAT), 20 ГБ HDD.

Стоит обратить внимание на параметр --os-variant , он указывает гипервизору под какую именно ОС следует адаптировать настройки.
Список доступных вариантов ОС можно получить, выполнив команду:

Osinfo-query os

Если такой утилиты нет в вашей системе, то устанавливаем:

Sudo apt-get install libosinfo-bin

После запуска установки, в консоли появится вот такая надпись:

Domain installation still in progress. You can reconnect to the console to complete the installation process.

Это нормальная ситуация, продолжать установку мы будем через VNC.
Смотрим на каком порту он был поднят у нашей виртуалки (в соседнем терминале, например):

Virsh dumpxml ubuntu1604 ... ...

Порт 5900, на локальном адресе 127.0.0.1. Чтобы подключиться к VNC, необходимо использовать Port Forwarding через ssh. Перед тем как это сделать, убедитесь, что tcp forwarding разрешён у демона ssh. Для этого идём в настройки sshd:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Если ничего не нашлось или вы видите:

AllowTcpForwarding no

То правим конфиг на

AllowTcpForwarding yes

и перезагружаем sshd.

Настройка Port forwarding

Выполняем команду на локальной машине:

Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip

Здесь мы настроили ssh port forwarding с локального порта 5900 на серверный порт 5900. Теперь уже можно подключиться к VNC, используя любой VNC-клиент. Я предпочитаю UltraVNC из-за простоты и удобства.

После успешного подключения, на экране отобразится стандартное окно приветствия начала установки Ubuntu:

После завершения установки и привычной перезагрузки, появится окно входа в систему. Авторизовавшись, определяем IP адрес новоиспечённой виртуалки, чтобы позже сделать его статичным:

Ifconfig

Запоминаем и идём на хост машину. Вытаскиваем mac-адрес "сетевой" карты виртуалки:

Virsh dumpxml ubuntu1604 | grep "mac address"

Запоминаем наш mac адрес:

Редактируем сетевые настройки гипервизора:

Sudo virsh net-edit default

Ищем DHCP, и добавляем вот это:

Должно получиться что-то вроде этого:

Для того, чтобы настройки вступили в силу, необходимо перезагрузить DHCP сервер гипервизора:

Sudo virsh net-destroy default sudo virsh net-start default sudo service libvirt-bin restart

После этого перегружаем виртуальную машину, теперь она всегда будет иметь заданный ей IP адрес - 192.168.122.131.

Есть и другие способы задать виртуалке статичный IP, например, напрямую редактируя сетевые настройки внутри гостевой системы, но тут уже как душе вашей будет угодно. Я лишь показал вариант, который сам предпочитаю использовать.

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

Ssh 192.168.122.131

Машина готова к бою.

Virsh: список команд

Чтобы посмотреть запущенные виртуальные хосты (все доступные можно получить добавив --all):

Sudo virsh list

Перезагрузить хост можно:

Sudo virsh reboot $VM_NAME

Остановить виртуальную машину:

Sudo virsh stop $VM_NAME

Выполнить halt:

Sudo virsh destroy $VM_NAME

Sudo virsh start $VM_NAME

Отключение:

Sudo virsh shutdown $VM_NAME

Добавить в автозапуск:

Sudo virsh autostart $VM_NAME

Очень часто требуется склонировать систему, чтобы в будущем использовать её как каркас для других виртуальных ОС, для этого используют утилиту virt-clone.

Virt-clone --help

Она клонирует существующую виртуалку и изменяет host-sensitive данные, например, mac address. Пароли, файлы и прочая user-specific информация в клоне остаётся прежней. Если на клонируемой виртуалке IP адрес был прописан вручную, то могут возникнуть проблемы с доступом по SSH на клон из-за конфликта (2 хоста с одинаковым IP).

Помимо установки виртуалки через VNC, также возможен вариант с X11Forwarding через утилиту virt-manager. В Windows, например, для этого можно использовать Xming и PuTTY.

Я попробовал много веб-интерфейса управления, а не из них был достаточно хорош, как virt-manager.

Вы знаете, я один из тех ребят, у которых раньше была VMware, где 90% управления щелкают.

Мои вопросы:

1) Есть ли какая-либо «интерактивная» утилита CLI, например, mc (командир полуночи) или что-то, как управлять KVM? (ВКЛ / ВЫКЛ VM, увеличение memmory, перезапуск виртуальных машин, добавление виртуального оборудования, добавление новых дисков и т. Д.)

2) Могли бы вы порекомендовать мне какой-то интерфейс управления веб-интерфейсом для KVM на debian squeeze? Вы видели сервер VMware 2? Существует веб-управление. Я знаю, что это было медленно, но это нормально, когда вы где-то без терминала. (например, на Android с веб-браузером) Я пробовал много из них, но ничего, что я пытался, работал.

5) Как повысить безопасность KVM? Может ли решить эту проблему некоторый веб-интерфейс? (например, учет, управление пользователями?)

Я знаю, что есть google, wiki, есть длинный список пользовательского интерфейса для kvm, но мне нужны мнения, опыт экспертов или пользователей, которые используют KVM. Надеюсь, это не какой-то глупый вопрос. Спасибо всем за ответы на мои вопросы.

5 Solutions collect form web for “KVM – Какое управление через веб-интерфейс нужно использовать?”

Для веб-менеджера KVM вы можете попробовать Proxmox . Инструкция для Debian Squeeze здесь.

Он имеет инструменты командной строки, но не текстовое базовое меню.

Вы должны настроить небольшую окружающую среду и попробовать ее. Затем изложите цель и реализуйте ее.

Для этого нет точного ответа / учебника. Насколько перестраиваемый сервер / клиент KVM действительно зависит от того, сколько ресурсов (cpu / ram / storage) доступно.

Опять же, это зависит от вашей среды, и это многослойные / устройства, например. маршрутизаторы, брандмауэр, ip-таблицы, политику паролей, политику доступа и т. д. Я не знаю ни одной gui, веб-базы или нет, которая может обрабатывать все из них, включая KVM. (ОК, есть облако, но у меня нет опыта с этим вообще)

Вы пробовали Кимчи ? является самым удобным для пользователей открытым исходным кодом на KVM, и его спонсирует IBM.

Отказ от ответственности: Я вообще не являюсь аффилированным лицом с Кимчи. Мне просто нравится его дружелюбие.

Эксперты используют CLI. Не GUI. Это даже верно для опытных администраторов Windows.

Нет, графические интерфейсы все еще улучшаются, но самозаписывающиеся скрипты быстрее и делают то, что вы хотите.

Повысить производительность в KVM? Выброси это.

Это всего лишь намек эксперта XEN-PV. Только LXC (или другие контейнеры) или chroot-based решения быстрее.

Руководство по установке KVM может быть не очень подробным, но, по крайней мере, дать или предоставить идеи относительно процесса установки и настройки.

Есть новое KVM на уровне предприятия и управление системой AV / IT под названием Boxilla, в котором есть комплексный и централизованный командный центр, который обеспечивает максимальную производительность, простоту использования и безопасность.

Он обеспечивает возможность управления высокопроизводительными KVM, KVM через IP, виртуализованными конечными точками и различными AV / IT-устройствами в одном централизованном командном центре, позволяет администраторам управлять многоуровневыми KVM и развертываниями AV / IT с использованием мощного веб- и общий пользовательский интерфейс. Об этом вы можете найти здесь: https://www.blackbox.co.uk/gb-gb/page/37929/Solutions-Industries/Technology-Products/KVM-Switching-and-Extension/Centralised-KVM-AV- Менеджер-Boxilla

Active Directory

Active Directory («Активные директории», AD ) - LDAP -совместимая реализация службы каталогов корпорации Microsoft для операционных систем семейства Windows NT . Active Directory позволяет администраторам использовать групповые политики для обеспечения единообразия настройки пользовательской рабочей среды, развёртывать программное обеспечение на множестве компьютеров через групповые политики или посредством System Center Configuration Manager (ранее Microsoft Systems Management Server ), устанавливать обновления операционной системы, прикладного и серверного программного обеспечения на всех компьютерах в сети, используя Службу обновления Windows Server . Active Directory хранит данные и настройки среды в централизованной базе данных. Сети Active Directory могут быть различного размера: от нескольких десятков до нескольких миллионов объектов.

Представление Active Directory состоялось в 1999 году, продукт был впервые выпущен с Windows 2000 Server , а затем был модифицирован и улучшен при выпуске Windows Server 2003 . Впоследствии Active Directory был улучшен в Windows Server 2003 R2 , Windows Server 2008 и Windows Server 2008 R2 и переименован в Active Directory Domain Services . Ранее служба каталогов называлась NT Directory Service (NTDS ), это название до сих пор можно встретить в некоторых исполняемых файлах .

В отличие от версий Windows до Windows 2000 , которые использовали в основном протокол NetBIOS для сетевого взаимодействия, служба Active Directory интегрирована с DNS и TCP/IP . Для аутентификации по умолчанию используется протокол Kerberos . Если клиент или приложение не поддерживает аутентификацию Kerberos , используется протокол NTLM .

Устройство

Объекты

Active Directory имеет иерархическую структуру, состоящую из объектов. Объекты разделяются на три основные категории: ресурсы (например, принтеры), службы (например, электронная почта) и учётные записи пользователей и компьютеров. Active Directory предоставляет информацию об объектах, позволяет организовывать объекты, управлять доступом к ним, а также устанавливает правила безопасности.

Объекты могут быть вместилищами для других объектов (группы безопасности и распространения). Объект уникально определяется своим именем и имеет набор атрибутов - характеристик и данных, которые он может содержать; последние, в свою очередь, зависят от типа объекта. Атрибуты являются составляющей базой структуры объекта и определяются в схеме. Схема определяет, какие типы объектов могут существовать.

Сама схема состоит из двух типов объектов: объекты классов схемы и объекты атрибутов схемы. Один объект класса схемы определяет один тип объекта Active Directory (например, объект «Пользователь»), а один объект атрибута схемы определяет атрибут, который объект может иметь.

Каждый объект атрибута может быть использован в нескольких разных объектах классов схемы. Эти объекты называются объектами схемы (или метаданными) и позволяют изменять и дополнять схему, когда это необходимо. Однако каждый объект схемы является частью определений объектов Active Directory , поэтому отключение или изменение этих объектов могут иметь серьёзные последствия, так как в результате этих действий будет изменена структура Active Directory . Изменение объекта схемы автоматически распространяется в Active Directory . Будучи однажды созданным, объект схемы не может быть удалён, он может быть только отключён. Обычно все изменения схемы тщательно планируются.

Контейнер аналогичен объекту в том смысле, что он также имеет атрибуты и принадлежит пространству имён , но, в отличие от объекта, контейнер не обозначает ничего конкретного: он может содержать группу объектов или другие контейнеры.

Структура

Верхним уровнем структуры является лес - совокупность всех объектов, атрибутов и правил (синтаксиса атрибутов) в Active Directory . Лес содержит одно или несколько деревьев , связанных транзитивными отношениями доверия . Дерево содержит один или несколько доменов, также связанных в иерархию транзитивными отношениями доверия. Домены идентифицируются своими структурами имён DNS - пространствами имён.

Объекты в домене могут быть сгруппированы в контейнеры - подразделения. Подразделения позволяют создавать иерархию внутри домена, упрощают его администрирование и позволяют моделировать организационную и/или географическую структуры компании в Active Directory . Подразделения могут содержать другие подразделения. Корпорация Microsoft рекомендует использовать как можно меньше доменов в Active Directory , а для структурирования и политик использовать подразделения. Часто групповые политики применяются именно к подразделениям. Групповые политики сами являются объектами. Подразделение является самым низким уровнем, на котором могут делегироваться административные полномочия .

Другим способом деления Active Directory являются сайты , которые являются способом физической (а не логической) группировки на основе сегментов сети. Сайты подразделяются на имеющие подключения по низкоскоростным каналам (например по каналам глобальных сетей , с помощью виртуальных частных сетей) и по высокоскоростным каналам (например через локальную сеть). Сайт может содержать один или несколько доменов, а домен может содержать один или несколько сайтов. При проектировании Active Directory важно учитывать сетевой трафик , создающийся при синхронизации данных между сайтами.

Ключевым решением при проектировании Active Directory является решение о разделении информационной инфраструктуры на иерархические домены и подразделения верхнего уровня. Типичными моделями, используемыми для такого разделения, являются модели разделения по функциональным подразделениям компании, по географическому положению и по ролям в информационной инфраструктуре компании. Часто используются комбинации этих моделей.

Физическая структура и репликация

Физически информация хранится на одном или нескольких равнозначных контроллерах доменов , заменивших использовавшиеся в Windows NT основной и резервные контроллеры домена, хотя для выполнения некоторых операций сохраняется и так называемый сервер «операций с одним главным сервером », который может эмулировать главный контроллер домена. Каждый контроллер домена хранит копию данных, предназначенную для чтения и записи. Изменения, сделанные на одном контроллере, синхронизируются на все контроллеры домена при репликации . Серверы, на которых сама служба Active Directory не установлена, но которые при этом входят в домен Active Directory , называются рядовыми серверами.

Репликация Active Directory выполняется по запросу. Служба Knowledge Consistency Checker создаёт топологию репликации, которая использует сайты, определённые в системе, для управления трафиком. Внутрисайтовая репликация выполняется часто и автоматически с помощью средства проверки согласованности (уведомлением партнёров по репликации об изменениях). Репликация между сайтами может быть настроена для каждого канала сайта (в зависимости от качества канала) - различная «оценка» (или «стоимость») может быть назначена каждому каналу (например DS3 , , ISDN и т. д.), и трафик репликации будет ограничен, передаваться по расписанию и маршрутизироваться в соответствии с назначенной оценкой канала. Данные репликации могут транзитивно передаваться через несколько сайтов через мосты связи сайтов, если «оценка» низка, хотя AD автоматически назначает более низкую оценку для связей «сайт-сайт», чем для транзитивных соединений. Репликация сайт-сайт выполняется серверами-плацдармами в каждом сайте, которые затем реплицируют изменения на каждый контроллер домена своего сайта. Внутридоменная репликация проходит по протоколу RPC по протоколу IP , междоменная - может использовать также протокол SMTP .

Если структура Active Directory содержит несколько доменов, для решения задачи поиска объектов используется глобальный каталог : контроллер домена, содержащий все объекты леса, но с ограниченным набором атрибутов (неполная реплика). Каталог хранится на указанных серверах глобального каталога и обслуживает междоменные запросы.

Возможность операций с одним главным компьютером позволяет обрабатывать запросы, когда репликация с несколькими главными компьютерами недопустима. Есть пять типов таких операций: эмуляция главного контроллера домена (PDC-эмулятор), главный компьютер относительного идентификатора (мастер относительных идентификаторов или RID-мастер), главный компьютер инфраструктуры (мастер инфраструктуры), главный компьютер схемы (мастер схемы) и главный компьютер именования домена (мастер именования доменов). Первые три роли уникальны в рамках домена, последние две - уникальны в рамках всего леса.

Базу Active Directory можно разделить на три логические хранилища или «раздела». Схема является шаблоном для Active Directory и определяет все типы объектов, их классы и атрибуты, синтаксис атрибутов (все деревья находятся в одном лесу, потому что у них одна схема). Конфигурация является структурой леса и деревьев Active Directory . Домен хранит всю информацию об объектах, созданных в этом домене. Первые два хранилища реплицируются на все контроллеры доменов в лесу, третий раздел полностью реплицируется между репликами контроллеров в рамках каждого домена и частично - на сервера глобального каталога.

Именование

Active Directory поддерживает следующие форматы именования объектов: универсальные имена типа UNC , URL и LDAP URL . Версия LDAP формата именования X.500 используется внутри Active Directory .

Каждый объект имеет различающееся имя (англ. distinguished name , DN ) . Например, объект принтера с именем HPLaser3 в подразделении «Маркетинг» и в домене foo.org будет иметь следующее различающееся имя: CN=HPLaser3,OU=Маркетинг,DC=foo,DC=org , где CN - это общее имя, OU - раздел, DC - класс объекта домена. Различающиеся имена могут иметь намного больше частей, чем четыре части в этом примере. У объектов также есть канонические имена. Это различающиеся имена, записанные в обратном порядке, без идентификаторов и с использованием косых черт в качестве разделителей: foo.org/Маркетинг/HPLaser3 . Чтобы определить объект внутри его контейнера, используется относительное различающееся имя : CN=HPLaser3 . У каждого объекта также есть глобально уникальный идентификатор (GUID ) - уникальная и неизменная 128-битная строка, которая используется в Active Directory для поиска и репликации. Определённые объекты также имеют имя участника-пользователя (UPN , в соответствии с RFC 822 ) в формате объект@домен.

Интеграция с UNIX

Различные уровни взаимодействия с Active Directory могут быть реализованы в большинстве UNIX -подобных операционных систем посредством соответствующих стандарту LDAP клиентов, но такие системы, как правило, не воспринимают большую часть атрибутов, ассоциированных с компонентами Windows , например групповые политики и поддержку односторонних доверенностей.

Сторонние поставщики предлагают интеграцию Active Directory на платформах UNIX , включая UNIX , Linux , Mac OS X и ряд приложений на базе Java , с пакетом продуктов:

Добавления в схему, поставляемые с Windows Server 2003 R2 включают атрибуты, которые достаточно тесно связаны с RFC 2307 , чтобы использоваться в общем случае. Базовые реализации RFC 2307, nss_ldap и pam_ldap , предложенные PADL.com , непосредственно поддерживают эти атрибуты. Стандартная схема для членства в группе соответствует RFC 2307bis (предлагаемому) . Windows Server 2003 R2 включает Консоль управления Microsoft для создания и редактирования атрибутов.

Альтернативным вариантом является использование другой службы каталогов, например 389 Directory Server (ранее Fedora Directory Server , FDS ), eB2Bcom ViewDS v7.1 XML Enabled Directory или Sun Java System Directory Server от Sun Microsystems , выполняющую двухстороннюю синхронизацию с Active Directory , реализуя таким образом «отраженную» интеграцию, когда клиенты UNIX и Linux аутентифицируются FDS , а клиенты Windows аутентифицируются Active Directory . Другим вариантом является использование OpenLDAP с возможностью полупрозрачного перекрытия, расширяющей элементы удаленного сервера LDAP дополнительными атрибутами, хранимыми в локальной базе данных.

Active Directory автоматизируются с помощью Powershell .

Литература

  • Рэнд Моримото, Кентон Гардиньер, Майкл Ноэл, Джо Кока Microsoft Exchange Server 2003 . Полное руководство = Microsoft Exchange Server 2003 Unleashed . - М .: «Вильямс», 2006. - С. 1024. - ISBN 0-672-32581-0

См. также

Ссылки

Примечания



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: