Задача: Хочу разобрать и оформить как пошаговая заметка для себя, как разворачивается сервис DFS в Windows Server 2012 R2 Std

Сервис DFS (Distributed File System) — это роль в Windows Server (может быть развернута, как на рядовом контроллер домена, так и на отдельном сервере), которая предоставляет возможность объединения общих папок, находящихся на разных серверах, в одно или несколько логически структурированных пространств имен. Это делает возможным предоставлять пользователям виртуальное представление общих папок, где один путь ведет к файлам, расположенным на нескольких серверах, как показано на моем скриншоте ниже.

Пользователям не требуется подключать несколько дисков для доступа к своим файлам. Кроме того, задачи по обслуживанию сервера, обновлению программ и другие, которые обычно требуют отключения сервера, могут выполняться без отключения пользователей от ресурсов.

Практическое использование DFS в организации

Цель: собственноручно сделать, как сделано на работе предыдущим системным администратором во всех нюансах и что можно сделать по правильному, а не лишь бы как, как и все что здесь сделано.

Тестовая лаборатория у меня на базе Debian 10 + Proxmox 6.4-13

  • Hostname: srv-dc01.polygon.local
  • OS: Windows Server 2012 R2 Std
  • Roles: AD,DNS,DHCP
  • Hostname: srv-gw.polygon.local
  • OS: Windows Server 2008 R2 Ent
  • Roles: gateway on TMG

Шаг №1: Разворачиваю на домен контроллере srv-dc01 роль DFS:

Logon Domain Admins in srv-dc01

Win + X – Control Panel – View by: Small icons – Administrative Tools – Server Manager – (Dashboard) Add roles and features и следую за мастером

(Before You Begin) Нажимаю Next

(Installation Type) выбираю Role-based or feature-based installation и нажимаю Next

(Server Selection) выбираю Select a server from the server pool, т.е. текущую систему srv-dc01.polygon.local и нажимаю Next

(Server Roles) разворачиваю File and Storage Services – File and iSCSI Services – и отмечаю к установки роли:

  • DFS Namespaces
  • DFS Replication

И нажимаю Next

(Features) все по умолчанию и нажимаю Next

(Confirmation) и нажимаю Install, а после Close

На заметку: Вообще можно не заморачиваться с установкой через GUI, а просто сделать все выше одной строкой через Powershell

Win + X – Command Prompt (Admin)

C:\Windows\system32>powershell
Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.
PS C:\Windows\system32> Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication, RSAT-DFS-Mgmt-Con
Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             NoChangeNeeded {}
FS-DFS-Namespace – служба DFS Namespaces
FS-DFS-Replication – служба репликации DFS Replication
RSAT-DFS-Mgmt-Con– mmc консоль управления службами DFS — DFS Management Tools (также входит в состав Remote Server Administration Tools для Windows 10)

Шаг №2: Произведем настройки пространства имен DFS:

Logon Domain Admins in srv-dc01

Win + X – Control Panel – View by: Small icons – Administrative Tools – DFS Management – и создаем новое пространство имен путем нажатия/вызова меню New Namespace

(Namespace Server) Server: Browse — Необходимо указать имя сервера, который будет содержать пространство имен (это может быть, как контроллер домена, так и рядовой сервер), указываю srv-dc01, OK, и нажимаю Next

(Namespace Name and Settings) Name: именую как Database, перехожу в Edit Settings (следует указать имя пространства имен DFS и права доступа к данному каталогу) выбираю Use Custom permissions: Customize и оставляю Authenticated users (Everyone удаляю) права Read, Change

Получается вот так:

  • Namespace server: srv-dc01
  • Shared folder: Database
  • Local path of shared folder: C:\DFSRoots\Database
  • Shared folder permissions: All users have read and write permissions

И нажимаю Next

(Namespace Type) выбираю Domain-based namespace

Произведем настройки пространства имен DFS

(Review Settings and Create Namespace) наблюдаю за результирующей и если все устраивает, то нажимаю Create

Пространство имен Database успешно создано

(Confirmation) главное в конце получать сообщение You have successfully completed the Namespace Wizard.

Шаг №3: Чтобы пользователи при доступе к DFS каталогам видели только те каталоги, к которым у них имеется доступ, включим для данного пространства DFS Access-Based Enumeration (подробнее о данной технологии в статье "Пошаговое руководство по использованию ABE на файловом сервере.").

Через правый клик на \\polygon.local\Database открываем Properties (Свойства), затем вкладка Advanced и отмечаем галочкой Enable access-based enumeration for this namespace

Включаем использование технологии ABE (Access Base Enumeration)

Шаг №4: Чтобы посмотреть содержимое нового пространства Database, просто наберите в окне проводника UNC путь: \\имя_домена_или_сервера\Database

Посмотреть содержимое нового пространства Database

Шаг №5: Создаю на сервере (расшаренный каталог), к примеру, srv-dc01 на логическом диск C: каталог db и через правый клик на нем открываю Properties (Свойства), на вкладке Sharing - Advanced Sharing…

  • Share this folder: отмечаю галочкой
  • Share name: именую как db$ (символ доллара скроет расшаренный каталог)

нажимаю на Permissions и удаляю группу Everyone, а добавляю группу Authenticated Users с правами на чтение и запись.

после нажимаю Apply - OK

Расшариваю каталог C:\db как \\srv-dc01\db$

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

Итого права доступа:

Права доступа на каталог C:\db

тем самым если в проводнике обратиться, как \\srv-dc01 расшаренного каталога db не появится, т.к. нужно явно указать \\srv-dc01\db$

Шаг №6: Добавляем в пространство имен Database расшаренный каталог из предыдущего шага (Шаг №5):

В оснастке DFS Management через правый клик мышью внутри созданного пространства имен Database через правый клик выбираю New Folder

  • Name: complex
  • Preview of namespace: \\polygon.local\Database\complex
  • Folder targets: Add - Browse и выбираю db$, а после нажимаю OK, OK, OK

Добавляем в пространство имен Database каталог из предыдущего шага

По итогу получаю в пространстве имен Database (\\polygon.local\Database) есть опубликованный каталог complex (\\polygon.local\Database\complex) который ссылается на \\srv-dc01\db$

Опубликованный каталог complex в пространстве имен Database

Теперь при обращении по адресу в домене \\polygon.local\Database\complex я попадаю на \\srv-dc01\db$ где у меня располагается файловая база 1С 7.7. Т.е. имея общую ссылку ее можно через GPO назначить, а уже саму конечную часть изменять если нужно. К примеру, у меня перемещаемые профили через GPO подключены, общий диск компании.

  • \\polygon.local\users\Forwarded folder 2\%username%\Application Data
  • \\polygon.local\users\Forwarded folder 2\%username%\Desktop
  • \\polygon.local\users\Forwarded folder 2\%username%\My Documents
  • \\polygon.local\users\Documents -> \\srv-shares04.polygon.local\Documents

На заметку: Советую на домен контроллере ни в коем случае не создавать и не расшаривать каталоги, лучше подключить LUN и на нем это делать.

На заметку: Если приходит допустим проверка, Вы как системный администратор просто выключаете ссылку на сервер в оснастке DFS Manager и у пользователя тут же пропадает/скрывается доступ к ресурсу.

По итогу очень практичная роль которую стоит использовать в рамках создания централизованных настроек предоставления доступа к ресурсам через GPO.

Пока на этом у меня все, будут нюансы будут и дополнения в виде пошаговых заметок, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik