Задача: Хочу разобрать и оформить как пошаговая заметка для себя, как разворачивается сервис DFS
в Windows Server 2012 R2 Std
Сервис DFS (Distributed File System)
— это роль в Windows Server
(может быть развернута, как на рядовом контроллер домена, так и на отдельном сервере), которая предоставляет возможность объединения общих папок, находящихся на разных серверах, в одно или несколько логически структурированных пространств имен. Это делает возможным предоставлять пользователям виртуальное представление общих папок, где один путь ведет к файлам, расположенным на нескольких серверах, как показано на моем скриншоте ниже.
Пользователям не требуется подключать несколько дисков для доступа к своим файлам. Кроме того, задачи по обслуживанию сервера, обновлению программ и другие, которые обычно требуют отключения сервера, могут выполняться без отключения пользователей от ресурсов.
Цель: собственноручно сделать, как сделано на работе предыдущим системным администратором во всех нюансах и что можно сделать по правильному, а не лишь бы как, как и все что здесь сделано.
Тестовая лаборатория у меня на базе 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
(Review Settings and Create Namespace)
наблюдаю за результирующей и если все устраивает, то нажимаю Create
(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
Шаг №4:
Чтобы посмотреть содержимое нового пространства Database
, просто наберите в окне проводника UNC
путь: \\имя_домена_или_сервера\Database
Шаг №5:
Создаю на сервере (расшаренный каталог), к примеру, srv-dc01
на логическом диск C:
каталог db
и через правый клик на нем открываю Properties (Свойства)
, на вкладке Sharing - Advanced Sharing…
Share this folder: отмечаю галочкой
Share name: именую как db$ (символ доллара скроет расшаренный каталог)
нажимаю на Permissions
и удаляю группу Everyone
, а добавляю группу Authenticated Users
с правами на чтение и запись.
после нажимаю Apply - OK
затем перехожу ко вкладке Security
и добавляю учетные записи кому в этот каталог будет доступ, к примеру учетной записи, ekzorchik
полный доступ, а для всех остальных нет, т.к. отключаем наследование.
Итого права доступа:
тем самым если в проводнике обратиться, как \\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 (\\polygon.local\Database)
есть опубликованный каталог complex
(\\polygon.local\Database\complex
) который ссылается на \\srv-dc01\db$
Теперь при обращении по адресу в домене \\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.