From FreeNAS using Active Directory Wiki
Jump to: navigation, search
Contents
- 1 Before we start
- 2 Getting started with FreeNAS
- 2.1 Initial connection
- 2.2 Configuring networking
- 2.3 Configuring Time Server
- 2.4 Creating a Storage Pool
- 2.5 Setting up Active Directory & CIFS
- 2.6 Creating your share using Windows permissions
- 2.7 Dataset File/Folder Permissions
- 3 Verification
Before we start
- We used a virtualized setup in order to create this walkthrough, using generic domain & computer names where possible.
- We used the private IP address range of 10.10.10.x — obviously you’ll want to replace our internal IP addresses with your own
- We used a single Active Directory domain controller, to keep things simple. We then configured the following network settings, which is reflected throughout this document:
- Gateway: 10.10.10.1
- DNS: 10.10.10.3
- NTP: 10.10.10.3
- DC (Domain Controller): 10.10.10.3
- FreeNAS: 10.10.10.4
- We used a single Active Directory domain controller, to keep things simple. We then configured the following network settings, which is reflected throughout this document:
- Where appropriate, we’ll make a note of where additional server IP’s can be entered, for redundancy
Getting started with FreeNAS
Initial connection
- When FreeNAS 9.2.1.5 is first installed, the network adapter is set to DHCP — we will change this a few steps down. We will be configuring FreeNAS purely from the webUI, so make a note of the IP on the FreeNAS server console:
- Use your favorite web browser to connect to that address — the first visit to the FreeNAS webUI will prompt you for a password, for the default user root
Configuring networking
- Click on Network -> Global Configuration
- Hostname: freenas (this needs to match the DNS «A» record & computer account name you created during the Active Directory prep)
- Domain: example-domain.net
- IPv4 Default Gateway: 10.10.10.1
- Nameserver 1: 10.10.10.3
- Click «Save»
- Click on Network -> Interfaces -> Add Interface
- NIC: select the NIC being used by FreeNAS (single NIC systems only have 1 item in the dropdown list)
- Interface Name: em0 (We named it the same as what FreeNAS names it, for consistency — you can name it whatever you like)
- DHCP: unchecked
- IPv4 Address: 10.10.10.4 (this needs to match the DNS «A» record you created during the Active Directory prep)
- IPv4 Netmask: /24
- Click «Save»
- The new IP address takes effect immediately — repoint your browser to the new address to continue
- Click on Network -> Network Summary to verify previous settings
Configuring Time Server
- Click on System -> NTP Servers -> View NTP Servers
- Remove all 3 default NTP servers
- Click Add NTP Server
- Address: 10.10.10.3
- Prefer: checked (only if you have other time servers configured)
- Leave everything else at its default setting
- Now that the time server is set, you need to set your time zone
- Click on Settings -> General
- Timezone: (obviously select YOUR time zone)
- Directory Service: Active Directory (since we plan on using Active Directory)
- Click «Save»
Creating a Storage Pool
- Your storage pool has to be created before you configure FreeNAS to use Active Directory, however that is beyond the scope of this how-to.
- The official FreeNAS wiki is an excellent resource on creating your storage pool.
- We also suggest giving cyberjocks excellent PowerPoint presentation explaining what VDev zpool, ZIL and L2ARC is.
- After your pool is created, we suggest creating a dataset specifically for CIFS sharing.
- Again, the official FreeNAS wiki is a good source of info on how to do this
- When creating the dataset, you have to take into consideration how this particular dataset will be used.
- In this how-to, we are assuming the storage will be used to store already compressed files, and the following screenshot reflects that.
- Dataset Name: downloads
- Compression level: Off (everything’s already compressed already)
- Share type: Windows
- Enable atime: Off (unless your backup solution scans this share, then turn it on)
- ZFS Deduplication: Off
Setting up Active Directory & CIFS
- Click on Services -> Directory Services -> Active Directory
- Domain name: example-domain.net
- NetBIOS Name: FREENAS
- Workgroup Name: EXAMPLE-DOMAIN
- Domain Account Name: freenasadmin
- Domain Account Password: StrongPassword1234
- Confirm Domain Account Password: StrongPassword1234
- Click on Services -> CIFS
- NetBIOS name: freenas
- Workgroup: EXAMPLE-DOMAIN
- Description: (optional to fill in)
- DOS charset: CP437
- UNIX charset: UTF-8
- Log Level: Minimum
- Use syslog: unchecked
- Local Master: unchecked
- Time Server for Domain: unchecked
- Guest Account: nobody
- File Mask: (leave this field blank)
- Directory Mask: (leave this field blank)
- EA Support: checked
- Support DOS File Attributes: checked
- Allow Empty Password: unchecked
- Auxiliary Parameters: (leave this field blank)
- Enable home directories: unchecked
- Enable home directories browsing: unchecked
- Home directories: (leave this field blank)
- Homes auxiliary parameters: (leave this field blank)
- Unix Extensions: checked
- Zeroconf share discovery: checked
- Hostnames lookups: checked
- Server minimum protocol: ———
- Server maximum Protocol: SMB3
- Allow execute always: checked
- Click «OK»
- Click Services -> Control Services
- Turn on Directory Services
- This will also automatically turn on the CIFS services. Turning on Directory Services can take up to a minute to start, be patient.
- Turn on Directory Services
- Click on Sharing -> Windows (CIFS) Shares -> Add Windows (CIFS) Share
- Name: Downloads (this is the name you’ll see when you connect via Windows Explorer)
- Comment: (optional)
- Path: (browse to the path of the dataset created previously)
- Leave everything else at its default setting
- Click «OK»
Dataset File/Folder Permissions
- Now we need to change the default owner & group on the dataset created
- Click on Store -> Volumes
- Expand your volumes until you find the dataset created for file sharing
- Click Change Permissions
- Owner (user): EXAMPLE-DOMAINadministrator
- Owner (group): EXAMPLE-DOMAINdomain users
- Mode: (unchangeable)
- Type of ACL: Windows / Mac
- Set permission recursively: unchecked (unless you have files owned by a FreeNAS user stored in this dataset already)
- Click «Change»
Verification
- From a Windows client, open Windows Explorer, and type in \freenas — if everything is set properly, you should see the CIFS share you created earlier.
- Enter into the shared directory, and as a simple test — create a folder. If you’re allowed, then it worked!
- If you go into the FreeNAS shell, you can further verify permissions are using Active Directory style permissions
FreeNAS поддерживает интеграцию с этими службами каталогов:
- Active Directory (for Windows 2000 and higher networks)
- LDAP
- NIS
Он также поддерживает Kerberos Realms, Kerberos Keytabs и возможность добавлять дополнительные параметры в настройки Kerberos.
В этом разделе представлены все эти службы и их доступные конфигурации в графическом интерфейсе FreeNAS.
Active Directory
Active Directory (AD) — это служба для совместного использования ресурсов в сети Windows. AD можно настроить на сервере Windows под управлением Windows Server 2000 или выше или в Unix-подобной операционной системе, на которой запущена Samba версии 4.
Поскольку AD предоставляет службы аутентификации и авторизации для пользователей в сети, нет необходимости воссоздания этих учетных записей пользователей в системе FreeNAS. Вместо этого настройте службу Active Directory, чтобы она могла импортировать информацию об учетной записи, а импортированные пользователи могут иметь право доступа к общим ресурсам SMB в системе FreeNAS.
Многие изменения и улучшения были внесены в поддержку Active Directory в FreeNAS. Настоятельно рекомендуется обновить систему до последней версии FreeNAS 11.1, прежде чем пытаться интегрировать Active Directory.
Перед настройкой службы Active Directory убедитесь, что разрешение имен настроено правильно. ping доменное имя контроллера домена Active Directory из Shell в системе FreeNAS. Если ping не удается, проверьте DNS-сервер и настройки шлюза по умолчанию в Network ‣ Global Configuration в системе FreeNAS.
Добавьте DNS-запись для системы FreeNAS на сервере Windows и убедитесь, что имя хоста системы FreeNAS можно отследить от контроллера домена.
Active Directory использует Kerberos, который является чувствительным к времени протоколом. Время как на FreeNAS, так и на контроллере домена Active Directory не может быть синхронизировано более чем на несколько минут. Лучший способ обеспечить то же время работы в обеих системах — это настроить обе системы:
- используйте тот же NTP-сервер (установленный в System ‣ NTP Servers в системе FreeNAS)
- имейте тот же часовой пояс
- настройте, как на локальное, так и на универсальное время на уровне BIOS
На рисунке ниже показан экран, который появляется, когда выбрана Directory Service ‣ Active Directory.
Некоторые настройки доступны только в расширенном режиме. Чтобы увидеть эти настройки, нажмите Advanced Mode (Расширенный режим) или настройте систему, чтобы всегда отображать эти параметры, установив Show advanced fields by default (Показывать расширенные поля по умолчанию в System ‣ Advanced).
Параметры конфигурации Active Directory
Domain Name (DNS/Realm-Name)
Тип string. Имя домена Active Directory (example.com) или дочернего домена (sales.example.com). Этот параметр является обязательным, и GUI отказывается сохранять настройки, если контроллер домена для указанного домена не может быть найден.
Domain Account Name
Тип string. Имя учетной записи администратора Active Directory. Этот параметр является обязательным, и GUI откажется сохранять настройки, если он не может подключиться к контроллеру домена, используя это имя учетной записи.
Domain Account Password
Тип string. Пароль учетной записи администратора Active Directory. Этот параметр является обязательным, и GUI отказывается сохранять настройки, если он не может подключиться к контроллеру домена, используя этот пароль
AD check connectivity frequency (seconds)
Тип integer. Как часто проверять, активны ли службы Active Directory.
How many recovery attempts
Тип integer. Количество попыток повторного подключения к серверу Active Directory. Начинается всегда, когда установлено значение 0.
Enable Monitoring
Тип checkbox. Перезагрузите Active Directory автоматически, если служба отключена.
Encryption Mode
Тип drop-down menu. Возможные значения: Выкл., SSL или TLS.
Certificate
Тип drop-down menu. Выберите сертификат сервера Active Directory, если используются SSL-соединения. Если сертификат еще не существует, создайте CA, затем создайте сертификат на сервере Active Directory и импортируйте его в систему FreeNAS с сертификатами.
Verbose logging
Тип checkbox. Когда отмечено, журналы пытаются присоединиться к домену в /var/log/messages.
UNIX extensions
Тип checkbox. Только если AD-сервер явно настроен для сопоставления разрешений для пользователей UNIX. Включение обеспечивает постоянные UID и GUID, в противном случае пользователи / группы отображаются в диапазон UID / GUID, настроенный в Samba.
Allow Trusted Domains
Тип checkbox. Включать только в том случае, если в сети есть активные доверительные отношения между domain/forest trusts (доменом/лесом — https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc757352(v=ws.10)), и файлы должны управляться в нескольких доменах.
Следует использовать с осторожностью, поскольку он будет генерировать больше трафика winbindd, замедляя возможность фильтрации через информацию о пользователе и группе.
Use Default Domain
Тип checkbox. Отменить добавление имени домена к имени пользователя. Если разрешено использование доверенных доменов, а в нескольких доменах используются одни и те же имена пользователей, отключите их, чтобы предотвратить конфликты имен.
Allow DNS updates
Тип checkbox. Отключите, чтобы отключить Samba при выполнении DNS-обновлений при подключении к домену.
Disable Active Directory user/group cache
Тип checkbox. Установите для отключения кэширования пользователей и групп AD. Это полезно, если система не может связываться с доменом с большим количеством пользователей или групп.
Site Name
Тип string. Относительное различающееся имя объекта сайта в Active Directory.
Domain Controller
Тип string. Автоматически добавляется в запись SRV для домена, и, когда задано несколько контроллеров, FreeNAS выбирает ближайший DC, который отвечает. Использует краткую форму полного доменного имени. Примером может служить sampleserver.
Global Catalog Server
Тип string. Если указано имя хоста сервера глобального каталога, убедитесь, что оно разрешимо.
Kerberos Realm
Тип drop-down menu. Выберите область, созданную с помощью команд в Kerberos Realms.
Kerberos Principal
Тип drop-down menu. Перейдите к местоположению ключа, созданного с помощью инструкций в Kerberos Keytabs.
AD timeout
Тип integer. В секундах увеличить, если служба AD не запускается после подключения к домену.
DNS timeout
Тип integer. В секундах увеличить, если AD DNS запрашивает таймаут.
Idmap backend
Тип drop-down menu and Edit. Выберите бэкэнд для использования сопоставления идентификаторов безопасности Windows (SID) с UNID UID и GID.
Смотри инфу ниже для краткого изложения доступных бэкендов. Нажмите ссылку «Изменить», чтобы настроить бэкэнд.
Windbind NSS Info
Тип drop-down menu. Определяет схему, используемую при запросе AD для информации о пользователе / группе. rfc2307 использует поддержку схемы RFC2307, включенную в Windows 2003 R2, sfu20 предназначен для служб Unix 3.0 или 3.5, а sfu — для служб Unix 2.0.
SASL wrapping
Тип drop-down menu. Определяет, как передается трафик LDAP. Можно выбрать plain (обычный текст), sign (только для подписки) или seal (подписанной и зашифрованной). Windows 2000 с пакетом обновления 3 (SP3) и новее можно настроить на принудительное подключение подписных подключений LDAP.
Enable
Тип checkbox. Включите службу Active Directory.
NetBIOS name
Тип string. Ограничено до 15 символов. Автоматически заполняется исходное имя хоста (hostname) системы. Это должно отличаться от имени рабочей группы.
NetBIOS alias
Тип string. Ограничено до 15 символов.
ID Mapping Backends
Ниже собраны бэкэнды, доступные в раскрывающемся меню Idmap backend. У каждого бэкэнда есть своя собственная страница руководства, которая дает детали реализации. Поскольку выбор неправильного бэкэнд приведет к разрыву интеграции Active Directory, во время внесения изменений в этот параметр появится всплывающее меню.
ad
Сервер AD использует расширения RFC2307 или Services For Unix. Сопоставление должно быть обеспечено заранее, добавив атрибуты uidNumber для пользователей и атрибуты gidNumber для групп в AD.
autorid
Подобно rid, но автоматически настраивает диапазон, который будет использоваться для каждого домена, поэтому нет необходимости указывать определенный диапазон для каждого домена в лесу. Единственной необходимой конфигурацией является диапазон UID / GID для использования для сопоставлений пользователей и групп и дополнительный размер для диапазонов.
fruit
Создайте идентификаторы так, как это делает Apple Mac OS X, поэтому UID и GID могут быть одинаковыми на всех серверах FreeNAS в сети. Для использования в средах LDAP, где Apple Open Directory является авторитетным сервером LDAP.
ldap
Сохраняет и извлекает таблицы отображения в службе каталогов LDAP. По умолчанию для службы каталогов LDAP.
nss
Предоставляет простой способ гарантировать, что SID для пользователя Unix будет отображаться как назначенный соответствующему пользователю домена.
rfc2307
Для обеспечения сопоставления между именем и SID требуется сервер AD, чтобы обеспечить сопоставление между именем и идентификатором UID / GID.
rid
По умолчанию для AD. Требуется явная конфигурация idmap для каждого домена с использованием непересекающихся диапазонов, где должен быть определен диапазон idmap для записи по умолчанию, используя бэкэнд, такой как tdb или ldap.
script
Хранит таблицы сопоставления для кластерных сред в winbind_cache tdb.
tdb
Байт по умолчанию, используемый winbindd для хранения таблиц сопоставления.
tdb2
Замените tdb, используемый winbindd в кластерных средах.
Нажмите Rebuild Directory Service Cache (Восстановить кеш-сервис службы каталогов), если новому пользователю Active Directory необходим немедленный доступ к FreeNAS. Это происходит автоматически один раз в день в качестве задания cron.
Примечание
Active Directory помещает ограничения, по которым символы разрешены в именах доменов и NetBIOS, ограничивает длину этих имен до 15 символов. Если есть проблемы с подключением к царству (realm), проверьте, что в настройках не указаны запрещенные символы. Пароль учетной записи администратора не может содержать символ $. Если в пароле администратора домена существует $, kinit сообщит об ошибке «Неправильная пароли», и ldap_bind сообщит об ошибке «Неверные учетные данные (49)».
Через несколько минут после настройки службы Active Directory для информации AD будет заполнена система FreeNAS. После заполнения пользователи и группы AD будут доступны в раскрывающихся меню экрана Permissions (Разрешения) тома/набора данных. По соображениям производительности каждый доступный пользователь может не отображаться в списке. Однако при вводе имени пользователя он автоматически заполнит все применимые пользователи.
Пользователи и группы Active Directory, импортированные в систему FreeNAS, отображаются путем ввода команд в оболочке FreeNAS:
- Просмотр пользователей: wbinfo -u
- Просмотр групп: wbinfo -g
Кроме того, wbinfo -t проверяет соединение и, в случае успеха, показывает сообщение, подобное:
checking the trust secret for domain YOURDOMAIN via RPC calls succeeded
Чтобы вручную проверить, что указанный пользователь может пройти проверку подлинности, используйте net ads join -S dcname -U username.
getent passwd и getent group могут предоставить дополнительную информацию об устранении неполадок, если в выводе нет ни пользователей, ни групп.
Совет
Иногда пользователи сети не отображаются в раскрывающемся меню экрана Permissions (Разрешения), но команды wbinfo отображают этих пользователей. Обычно это связано с тем, что система FreeNAS занимает больше 10 секунд, чтобы присоединиться к Active Directory. Увеличьте значение тайм-аута AD до 60 секунд.
Чтобы изменить сертификат, установите для Encryption Mode (режима шифрования) значение Off (Выкл), Затем отключите AD, сняв флажок «Включить». Нажмите «Сохранить». Выберите новый сертификат, установите режим шифрования по желанию, установите флажок Включить для повторного включения AD и нажмите «Сохранить», чтобы перезапустить AD.
Советы по устранению неполадок
При запуске AD в смешанном домене 2003/2008 см. Это сообщение для инструкций, чтобы предотвратить повреждение защищенного ключа канала. (https://forums.freenas.org/index.php?threads/2008r2-2003-mixed-domain.1931/)
Active Directory использует DNS для определения местоположения контроллеров домена и серверов глобального каталога в сети. Используйте host -t srv _ldap._tcp.domainname.com, чтобы определить SRV-записи сети и изменить вес и/или приоритет записи SRV, чтобы отобразить самый быстрый сервер. Более подробную информацию о записях SRV можно найти в статье Technet. Как поддерживается поддержка DNS для Active Directory. (https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc759550(v=ws.10))
Используемая область зависит от приоритета в записи SRV DNS. DNS может переопределять настройки Active Directory системы. Если вы не можете подключиться к правильной области, проверьте записи SRV на DNS-сервере.
Если кеш перестает синхронизироваться из-за снятия и повторного подключения к серверу AD, повторите синхронизацию кеша с помощью Directory Service ‣ Active Directory ‣ Rebuild Directory Service Cache
Истекший пароль для учетной записи администратора приведет к сбою kinit. Убедитесь, что пароль по-прежнему действителен. Кроме того, двойная проверка пароля на используемой учетной записи AD не включает пробелы, специальные символы и не является необычно длинной.
Если версия сервера Windows ниже 2008 R2, попробуйте создать запись «Компьютер» в подразделении сервера Windows. При создании этой записи введите имя хоста FreeNAS в поле имени. Убедитесь, что оно меньше 15 символов, с тем же именем, что и в поле «Имя хоста» в «Глобальной конфигурации сети» и с тем же именем NetBIOS в Directory Service ‣ Active Directory. Убедитесь, что имя хоста контроллера домена установлено в поле Domain Controller (Контроллер домена) службы каталогов «Active Directory».
Если система не присоединится к домену
Если система не присоединится к домену Active Directory, запустите эти команды в указанном порядке. команды echo возвратят значение 0, а klist покажет билет Kerberos:
sqlite3 /data/freenas-v1.db «update directoryservice_activedirectory set ad_enable=1;»
echo $?
service ix-kerberos start
service ix-nsswitch start
service ix-kinit start
service ix-kinit status
echo $?
klist
Если кеш перестает синхронизироваться из-за снятия и повторного подключения к серверу AD, повторите синхронизацию кеша с помощью Directory Service ‣ Active Directory ‣ Rebuild Directory Service Cache
Примечание
Если какая-либо из команд выйдет из строя или приведет к трассировке, создайте отчет об ошибке на странице https://redmine.ixsystems.com/projects/freenas/issues, которая включает команды в том порядке, в котором они выполнялись, и точная формулировка сообщение об ошибке или трассировку.
Затем выполняйте только эти две команды, если расширения Unix установлены в расширенном режиме, и keytab был загружен с помощью Kerberos Keytabs:
service ix-sssd start
service sssd start
Наконец, запустите эти команды. echo возвращает 0, если что-то не пошло не так:
python /usr/local/www/freenasUI/middleware/notifier.py start cifs
service ix-activedirectory start
service ix-activedirectory status
echo $?
python /usr/local/www/freenasUI/middleware/notifier.py restart cifs
service ix-pam start
service ix-cache start &
LDAP
FreeNAS включает клиента OpenLDAP для доступа к информации с сервера LDAP. Сервер LDAP предоставляет службы каталогов для поиска сетевых ресурсов, таких как пользователи и связанные с ними разрешения. Примеры серверов LDAP включают Microsoft Server (2000 и более поздние версии), Mac OS X Server, Novell eDirectory и OpenLDAP, работающие в BSD или Linux. Если сервер LDAP работает в сети, настройте службу FreeNAS LDAP, чтобы пользователи сети могли аутентифицироваться на сервере LDAP и иметь авторизованный доступ к данным, хранящимся в системе FreeNAS.
Примечание
Аутентификация LDAP для общих ресурсов SMB отключается, если только каталог LDAP не настроен и не заполнен атрибутами Samba. Самым популярным скриптом для выполнения этой задачи является smbldap-tools. Кроме того, сервер LDAP должен поддерживать SSL / TLS, а сертификат для сервера LDAP CA должен быть импортирован с сертификатами System ‣ Certificates ‣ Import Certificate. Обратите внимание, что сертификаты, отличные от CA, в настоящее время не поддерживаются.
Совет
Apple Open Directory — это служба каталогов, совместимая с LDAP, в которую можно интегрировать FreeNAS. См. FreeNAS с Open Directory в средах Mac OS X. (https://forums.freenas.org/index.php?threads/howto-freenas-with-open-directory-in-mac-os-x-environments.46493/)
На рисунке показан экран конфигурации LDAP, который отображается после нажатия Directory Service ‣ LDAP.
Параметры конфигурации LDAP в FreeNAS
Некоторые настройки доступны только в расширенном режиме. Чтобы увидеть эти настройки, нажмите кнопку Advanced Mode (Расширенный режим) или настройте систему, чтобы всегда отображать эти параметры, установив флажок Show advanced fields by default в System ‣ Advanced.
Те, кто знаком с терминологией LDAP, должны прочитать Руководство администратора OpenLDAP Software 2.4. (http://www.openldap.org/doc/admin24/)
Hostname
Тип string. Имя хоста или IP-адрес сервера LDAP.
Base DN
Тип string. Верхний уровень дерева каталогов LDAP, который будет использоваться при поиске ресурсов. Пример: dc = test, dc = org.
Bind DN
Тип string. Имя учетной записи администратора на сервере LDAP. Пример: cn = Manager, dc = test, dc = org.
Bind password
Тип string. Пароль для корневого связывания DN. (Root bind DN)
Allow Anonymous Binding
Тип checkbox. Поручает LDAP-серверу не предоставлять аутентификацию и разрешать доступ к чтению и записи любому клиенту.
User Suffix
Тип string. Необязательный. Может быть добавлено к имени, когда учетная запись пользователя будет добавлена в каталог LDAP. Пример: отдел или название компании.
Group Suffix
Тип string. Необязательный. Может добавляться к имени, когда группа добавляется в каталог LDAP. Пример: отдел или название компании.
Password Suffix
Тип string. Необязательный. Может быть добавлен к паролю при добавлении пароля в каталог LDAP.
Machine Suffix
Тип string. Необязательный. Может быть добавлено к имени, когда система добавлена в каталог LDAP. Пример: сервер, учет.
SUDO Suffix
Тип string. Используйте, если пользователям на основе LDAP нужен доступ суперпользователя.
Kerberos Realm
Тип drop-down menu. Выберите область, созданную с помощью команд в Kerberos Realms.
Kerberos Principal
Тип drop-down menu. Перейдите к местоположению принципала в keytab, созданном, как описано в Kerberos Keytabs.
Encryption Mode
Тип drop-down menu. Возможные значения: Выкл., SSL или TLS. Обратите внимание, что для проверки подлинности необходимо выбрать протокол SSL или TLS и сертификат.
Certificate
Тип drop-down menu. Выберите сертификат CA LDAP (требуется, если используется аутентификация). Сертификат для CA сервера LDAP должен быть сначала импортирован с сертификатами System ‣ Certificates ‣ Import Certificate.
LDAP timeout
Тип integer. Увеличьте это значение (в секундах), если вы получите тайм-аут Kerberos.
DNS timeout
Тип integer. Увеличьте это значение (в секундах), если DNS запрашивает таймаут.
Idmap backend
Тип drop-down menu and Edit. Выберите бэкэнд для использования сопоставления идентификаторов безопасности Windows (SID) с UNID UID и GID. Нажмите ссылку «Изменить», чтобы настроить выбранный сервер.
Samba Schema
Тип checkbox. Установите, если требуется проверка подлинности LDAP для общих ресурсов SMB, и сервер LDAP уже настроен с атрибутами Samba.
Auxiliary Parameters
Тип string. Дополнительные параметры для sssd.conf (5). (https://jhrozek.fedorapeople.org/sssd/1.11.6/man/sssd.conf.5.html)
Schema
Тип drop-down menu. Если Samba Schema установлен, выберите используемую схему. Возможны варианты rfc2307 и rfc2307bis.
Enable
Тип checkbox. Отключите, чтобы отключить конфигурацию, не удаляя ее.
NetBIOS Name
Тип string. Ограничено до 15 символов. Автоматически заполняется исходное имя хоста системы. Это должно отличаться от имени рабочей группы
NetBIOS Alias
Тип string. Ограничено до 15 символов.
Нажмите кнопку Rebuild Directory Cache после добавления пользователя в LDAP, которому необходим немедленный доступ к FreeNAS®. В противном случае это происходит автоматически один раз в день в качестве задания cron.
Примечание
FreeNAS автоматически добавляет корневое DN. Это означает, что область и корень DN не должны включаться при настройке пользовательских, групповых, парольных и машинных суффиксов.
Пользователи и группы LDAP отображаются в раскрывающихся меню экрана guilabel: Permissions набора данных после настройки службы LDAP. Введите getent passwd из Shell, чтобы проверить, были ли пользователи импортированы. Тип getent group для проверки того, что группы были импортированы.
Если пользователей и групп нет в списке, см. Общие ошибки, возникающие при использовании программного обеспечения OpenLDAP для распространенных ошибок и способы их устранения. При устранении неполадок LDAP откройте «Шелл» и найдите сообщения об ошибках в /var/log/auth.log.
(http://www.openldap.org/doc/admin24/appendix-common-errors.html)
NIS
Служба сетевой информации (NIS) поддерживает и распространяет центральный каталог данных пользователя и группы Unix, имена хостов, псевдонимы электронной почты и другие текстовые таблицы информации. Если в сети запущен сервер NIS, система FreeNAS может быть настроена на импорт пользователей и групп из каталога NIS.
Примечание
В Windows Server 2016 Microsoft удалила роль Identity Management для Unix (IDMU) и роли сервера NIS.
Смотри «Разъяснение относительно статуса управления идентификацией для роли Unix (IDMU) и NIS Server в техническом просмотре Windows Server 2016 и далее». (https://blogs.technet.microsoft.com/activedirectoryua/2016/02/09/identity-management-for-unix-idmu-is-deprecated-in-windows-server/)
На рисунке показан экран конфигурации, который открывается после навигации по Directory Service ‣ NIS.
Параметры конфигурации NIS
NIS domain
Тип string. Название домена NIS.
NIS servers
Тип string. Список имен хостов или IP-адресов, разделенных запятыми.
Secure mode
Тип checkbox. Если установлено, ypbind (8) откажется связываться с любым сервером NIS, который не запущен с правами администратора, с номером порта TCP более 1024. (https://www.freebsd.org/cgi/man.cgi?query=ypbind)
Manycast
Тип checkbox. Если установлено, ypbind будет привязываться к серверу, который отвечает самым быстрым. Это полезно, когда локальный сервер NIS не доступен в той же подсети.
Enable
Тип checkbox. Отключите, чтобы отключить конфигурацию, не удаляя ее.
Нажмите кнопку Rebuild Directory Service Cache (Восстановить каталоги службы каталогов) после добавления пользователя в NIS, которому необходим немедленный доступ к FreeNAS. В противном случае это происходит автоматически один раз в день в качестве задания cron.
Области Kerberos — Kerberos Realms
Для локальной системы в FreeNAS создается область Kerberos по умолчанию. Directory Service ‣ Kerberos Realms может использоваться для просмотра и добавления областей Kerberos. Если в сети есть KDC, нажмите Add kerberos realm (Добавить область кербероса), чтобы добавить область.
Настраиваемые параметры областей Kerberos.
Некоторые настройки доступны только в расширенном режиме. Чтобы просмотреть эти параметры, нажмите «Расширенный режим» или настройте систему, чтобы всегда отображать эти параметры, установив флажок «Показывать дополнительные поля по умолчанию в System ‣ Advanced».
Realm
Тип string. Обязательный. Название области.
KDC
Тип string. Название центра распространения ключей.
Admin Server
Тип string. Сервер, на котором выполняются все изменения в базе данных.
Password Server
Тип string. Сервер, на котором выполняются все изменения пароля.
Kerberos Keytabs
Ключи Kerberos используются для подключения к Active Directory или LDAP без пароля. Это означает, что пароль для учетной записи администратора Active Directory или LDAP не нужно сохранять в базе данных конфигурации FreeNAS®, что представляет угрозу безопасности в некоторых средах.
При использовании keytab рекомендуется создавать и использовать менее привилегированную учетную запись для выполнения требуемых запросов, поскольку пароль для этой учетной записи будет храниться в базе данных конфигурации FreeNAS. Чтобы создать keytab в системе Windows, используйте следующие команды:
ktpass.exe -out hostname.keytab host/ hostname@DOMAINNAME -ptype KRB5_NT_PRINCIPAL -mapuser DOMAINusername -pass userpass
setspn -A host/ hostname@DOMAINNAME DOMAINusername
где:
- hostname — это полное имя хоста контроллера домена.
- DOMAINNAME — это доменное имя во всех шапках.
- DOMAIN — это короткое имя домена до 2000 года.
- username — это имя привилегированной учетной записи.
- userpass — это пароль, связанный с именем пользователя.
Это создаст keytab с достаточными привилегиями для предоставления билетов (tickets).
После создания keytab используйте Directory Service ‣ Kerberos Keytabs ‣ Add kerberos keytab, чтобы добавить его в систему FreeNAS.
Чтобы указать службе Active Directory использовать keytab, выберите установленную keytab, используя раскрывающееся меню Keybab Kerberos в Directory Service ‣ Active Directory. При использовании keytab с Active Directory убедитесь, что «username» и «userpass» в keytab соответствуют полям Domain Account Name (Имя учетной записи домена) и Domain Account Password (Пароль учетной записи домена) в службе каталогов Active Directory.
Чтобы указать LDAP для использования принципала из keytab, выберите принципала из раскрывающегося меню Kerberos Principal в Directory Service ‣ LDAP.
Kerberos Settings
Чтобы настроить дополнительные параметры Kerberos, используйте Directory Service ‣ Kerberos Settings. На рисунке показаны доступные поля:
- Вспомогательные параметры Appdefaults: содержат настройки, используемые некоторыми приложениями Kerberos. Доступные настройки и их синтаксис перечислены в разделе [appdefaults] файла krb.conf (5) (http://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html#appdefaults)
- Дополнительные параметры Libdefaults: содержит настройки, используемые библиотекой Kerberos. Доступные настройки и их синтаксис перечислены в разделе [libdefaults] файла krb.conf (5). (http://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html#libdefaults)
FreeNAS offers a powerful array of features and is adaptable to a wide range of network-attached storage solutions. We look at integrating Windows Active Directory, taking snapshots, replicating, and backing up.
Whether you need a network-attached storage (NAS) solution for your enterprise or small business or just want to build a storage solution for your Windows network, FreeNAS has got you covered.
In a previous issue [1], I showed you how to install FreeNAS, configure sharing, and set up a basic client node. In this article, I dive into more advanced features, such as integrating Windows Active Directory, snapshots, replication, and backup.
Directory Options
Your FreeNAS system [2] can easily integrate with your existing network directory services or use its own local user configuration. If you are running Windows Active Directory, LDAP (e.g., OpenLDAP), NIS (Network Information Service), or NT4 (I hope not!), you can pull the usernames and passwords directly from your directory. In this article, I focus on integrating your FreeNAS box with Windows Active Directory.
In this example, I am building on Windows 2012 R2, but you could build this many other ways. For example, if you have an open source environment, you might build this on Samba 4, which can provide much of the same technology.
Unlike the last installment on FreeNAS, in which I used a local FreeNAS authentication system, this time, I instead point the FreeNAS system to a Windows 2012 Active Directory server. This effectively means that I don’t have to recreate users in FreeNAS; instead, I refer to Windows AD for authentication.
In this configuration, FreeNAS polls the Windows 2012 Active Directory domain controller and imports the users into FreeNAS. Keep in mind that FreeNAS also supports being a domain controller (DC) itself or being an additional DC alongside your others. Here, I use it for authentication only, not as a full active directory implementation.
Prerequisites
Before beginning, you must take care of a few prerequisites. To check your configuration in the web management interface, go to Network | Global Configuration
(Figure 1). Double-check your network settings (IP, Gateway, etc.) and make sure the correct domain is listed and you are pointed at the correct DNS server. This is easily accomplished by going to the FreeNAS shell in the web GUI or the Console. In this case, assure you are pointing to your Active Directory (AD) domain controller.
Figure 1: Checking your configuration.
Next, you should go to your DNS server (which happens to be your AD domain controller as well) and add a DNS record for your FreeNAS box. Finally, test the name resolution and network availability from the shell on FreeNAS with ping
or dig
.
Network Time Protocol (NTP) synchronizes time on a network. Time is of vital importance to many services such as Kerberos and logging, among others. In this case, you want to assure both your Windows 2012 R2 server and FreeNAS box are pointing to the same NTP server. In FreeNAS, you can do so by going to System | General | NTP Servers
.
If you are running an End-of-Support/End-of-Life version of any software, it is time to upgrade. Systems such as Windows NT4 to 2003 (end of life in 2015) or NIS are beyond antiquated, insecure technologies that should only be exhibited in museums.
Setting up AD Authentication
With the prerequisites out of the way, you are ready to begin. For this section, I assume you already have a basic FreeNAS setup that is using local authentication (FreeNAS local users/passwords) and you are reconfiguring it to use Windows Active Directory. Starting this process is simply accomplished by navigating in the FreeNAS web GUI to Directory | Active Directory
(Figure 2). Simply put in your domain, AD administrator account and AD administrator password. When it finalizes, you will see a success message flash at the top of the FreeNAS screen.
Figure 2: Active Directory settings window.
Generally, you will be fine using the default option (non-advanced mode), but quite a few options are customizable by clicking the Advanced Mode
button [3]. Once you have set up your FreeNAS box to use AD, you can go to your volumes and change the permissions as desired under Storage | View Volumes
. Simply select the volume you want to manage and then click the Change Permissions
icon. From there, you will see the usual options for assigning permissions.
Now that you have set your FreeNAS server with Active Directory, you can use a Windows client to test it. As you see in Figure 3 on a Windows 7 client joined to the domain, I’m able to connect to the share and enjoy the music (metal specifically) that I have stored there. Give me a minute to rock out! m/( )m/
Figure 3: Streaming music after joining the domain.
Register for the iXsystems Community to get an ad-free experience
-
Thread starter
mauirixxx
-
Start date
May 1, 2014
- Status
- Not open for further replies.
-
#1
Instead of modifying the below posts to reflect the changes to the FreeNAS side of things with the introduction of Corral, I’ve decided to just link to my wiki I used originally to first create the posts blow. You can find the wiki HERE and again linked below (the link below takes you directly to my FreeNAS 10 page).
If it’s at all possible for an admin to insert a post right after the Active Directory Prep post, then I’ll gladly copy & paste my work back over to here.
Aloha, mauirixxx
UPDATE 2016-02-01
This post was written with FreeNAS 9.2.1.5 in mind, before the Active Directory interface changes in FreeNAS 9.3. However, setting up the Windows side of things have not changed. You still need your time to be good, you still need a solid A.D. DNS setup, and a user dedicated to joining your FreeNAS server to the domain is still highly suggested.
I have taken to writing up a walkthrough on my personal wiki dedicated to setting up FreeNAS as an Active Directory member, which you can view the FreeNAS 9.3 specific stuff HERE. Once that writeup is complete, I’ll update this thread with current (9.3.x at least) information.
About
This post is a collaboration between bigphil and myself of the FreeNAS forum pooling our knowledge together of making FreeNAS work with the various flavors of Active Directory in our respective work & home environments, in order to use Windows based permissions on files hosted on the FreeNAS server.
Tested
This how-to has been tested with the following software releases, with this how-to being written using
Windows Server 2008
&
FreeNAS 9.2.1.5
:
- FreeNAS v9.1.1-RELEASE-x64 (a752d35)
- FreeNAS v9.2.1.4.1-RELEASE-x64 (fec915c)
- FreeNAS v9.2.1.5-RELEASE-x64 (80c1d35)
- FreeNAS-Corral-10.0.3 (4845fa74c)
- Microsoft Windows Server 2008
- Microsoft Windows Server 2008 R2
- Microsoft Windows Server 2012 R2
Assumptions
- Active Directory support (installation, configuration) is beyond the scope of this document, because …
- This how-to assumes you already have a working Active Directory installation.
- We assume you have the required access to create user and computer objects in Active Directory, as well as access to create the necessary records required in DNS.
- We assume you are using a fresh install of FreeNAS.
- We assume you have a current backup of your Active Directory setup.
- We are not responsible for YOU breaking YOUR Active Directory (not that you will, but «stuff» happens).
The next 4 posts will detail the required steps for prepping Active Directory, then configuring FreeNAS to work with Active Directory, using the «Computer Management» MMC snap-in to configure permissions on the FreeNAS CIFS share, and current bug(s) with (their) solution(s).
Last edited: Apr 17, 2017
-
#2
Active Directory Prep
Before we start
- We used a virtualized setup in order to create this walkthrough, using generic domain & computer names where possible.
- We used the private IP address range of 10.10.10.x — obviously you’ll want to replace our internal IP addresses with your own
- We used a single Active Directory domain controller, to keep things simple. We then configured the following network settings, which is reflected throughout this document:
- Gateway: 10.10.10.1
- DNS: 10.10.10.3
- NTP: 10.10.10.3
- DC (Domain Controller): 10.10.10.3
- FreeNAS: 10.10.10.4
- We used a single Active Directory domain controller, to keep things simple. We then configured the following network settings, which is reflected throughout this document:
DNS Prep
- Create a DNS «A» record
Adding a FreeNAS user
- Create a FreeNAS user specifically for joining the FreeNAS server to the domain, named freenasAdmin
- Create a non-expiring password for user freenasAdmin
Pre-creating FreeNAS computer object in AD
- Create a computer account in preparation for joining the FreeNAS server to the domain. The name should match the «A» record you created earlier.
- Before clicking OK to finalize the computer account creation, click «Change» and assign the previously created user «freenasAdmin» the ability to join the server to the domain
- NOTE: Normal users in Active Directory CAN join computers to a domain, but there’s a predefined limit of to how many times (it’s 10) this can happen — this may not apply to Server 2008 and above, needs verification
- NOTE: Normal users in Active Directory CAN join computers to a domain, but there’s a predefined limit of to how many times (it’s 10) this can happen — this may not apply to Server 2008 and above, needs verification
- Before clicking OK to finalize the computer account creation, click «Change» and assign the previously created user «freenasAdmin» the ability to join the server to the domain
- Afterwards, right click on the «freenas» computer object, and select Properties, then click on the Security tab, and give the freenasAdmin user «Full Control» and click OK.
- NOTE: If you don’t see the security tab, you need to switch your view to «Advanced Features» — you can see where HERE.
- NOTE: If you don’t see the security tab, you need to switch your view to «Advanced Features» — you can see where HERE.
- Verify the accuracy of your server’s clock — since every computer joined in the domain will be using the DC as a time server as well, it needs to be accurate.
NTP server prep
- From a CMD prompt, type w32tm /query /configuration — if NtpServer shows time.windows.com— you should really think about changing it.
- To change the time server to both use a more accurate clock, and redundant clocks, type the following:
- w32tm /config /syncfromflags:manual /manualpeerlist:»0.us.pool.ntp.org,0x1 1.us.pool.ntp.org,0x1 2.us.pool.ntp.org,0x1″ /update /reliable:yes
- If you got any result other then «The command completed successfully», verify your command line. View an example successful result HERE.
- Restart the Windows time service by issuing the following command net stop w32time && net start w32time. View an example successful restart HERE.
- To change the time server to both use a more accurate clock, and redundant clocks, type the following:
FreeNAS setup
If everything went ok, move on to the next post
-
#3
Getting started with FreeNAS
Initial connection
- When FreeNAS 9.2.1.5 is first installed, the network adapter is set to DHCP — we will change this a few steps down. We will be configuring FreeNAS purely from the webUI, so make a note of the IP on the FreeNAS server console:
- Use your favorite web browser to connect to that address — the first visit to the FreeNAS webUI will prompt you for a password, for the default user root
Configuring networking
- Click on Network -> Global Configuration
- Hostname: freenas (this needs to match the DNS «A» record & computer account name you created during the Active Directory prep)
- Domain: example-domain.net
- IPv4 Default Gateway: 10.10.10.1
- Nameserver 1: 10.10.10.3
- Click «Save»
- Click on Network -> Interfaces -> Add Interface
- NIC: select the NIC being used by FreeNAS (single NIC systems only have 1 item in the dropdown list)
- Interface Name: em0 (We named it the same as what FreeNAS names it, for consistency — you can name it whatever you like)
- DHCP: unchecked
- IPv4 Address: 10.10.10.4 (this needs to match the DNS «A» record you created during the Active Directory prep)
- IPv4 Netmask: /24
- Click «Save»
- The new IP address takes effect immediately — repoint your browser to the new address to continue
- The new IP address takes effect immediately — repoint your browser to the new address to continue
- Click on Network -> Network Summary to verify previous settings
Configuring Time Server
- Click on System -> NTP Servers -> View NTP Servers
- Remove all 3 default NTP servers
- Click Add NTP Server
- Address: 10.10.10.3
- Prefer: checked (only if you have other time servers configured)
- Leave everything else at its default setting
- Now that the time server is set, you need to set your time zone
- Click on Settings -> General
- Timezone: (obviously select YOUR time zone)
- Directory Service: Active Directory (since we plan on using Active Directory)
- Click «Save»
Creating a Storage Pool
- Your storage pool has to be created before you configure FreeNAS to use Active Directory, however that is beyond the scope of this how-to.
- The FreeNAS wiki is an excellent resource on creating your storage pool.
- We also suggest giving cyberjocks excellent PowerPointpresentation explaining what VDev zpool, ZIL and L2ARC is.
- After your pool is created, we suggest creating a dataset specifically for CIFS sharing.
- Again, the official FreeNAS wikiis a good source of info on how to do this
- When creating the dataset, you have to take into consideration how this particular dataset will be used.
- In this how-to, we are assuming the storage will be used to store already compressed files, and the following screenshot reflects that.
- Dataset Name: downloads
- Compression level: Off (everything’s already compressed already)
- Share type: Windows
- Enable atime: Off (unless your backup solution scans this share, then turn it on)
- ZFS Deduplication: Off
Setting up Active Directory & CIFS
- Click on Services -> Directory Services -> Active Directory
- Domain name: example-domain.net
- NetBIOS Name: FREENAS
- Workgroup Name: EXAMPLE-DOMAIN
- Domain Account Name: freenasadmin
- Domain Account Password: StrongPassword1234
- Confirm Domain Account Password: StrongPassword1234
- Click on Services -> CIFS
- NetBIOS name: freenas
- Workgroup: EXAMPLE-DOMAIN
- Description: (optional to fill in)
- DOS charset: CP437
- UNIX charset: UTF-8
- Log Level: Minimum
- Use syslog: unchecked
- Local Master: unchecked
- Time Server for Domain: unchecked
- Guest Account: nobody
- File Mask: (leave this field blank)
- Directory Mask: (leave this field blank)
- EA Support: checked
- Support DOS File Attributes: checked
- Allow Empty Password: unchecked
- Auxiliary Parameters: (leave this field blank)
- Enable home directories: unchecked
- Enable home directories browsing: unchecked
- Home directories: (leave this field blank)
- Homes auxiliary parameters: (leave this field blank)
- Unix Extensions: checked
- Zeroconf share discovery: checked
- Hostnames lookups: checked
- Server minimum protocol: ———
- Server maximum Protocol: SMB3
- Allow execute always: checked
- Click «OK»
- Click Services -> Control Services
- Turn on Directory Services
- This will also automatically turn on the CIFS services. Turning on Directory Services can take up to a minute to start, be patient.
- Turn on Directory Services
Creating your share using Windows permissions
- Click on Sharing -> Windows (CIFS) Shares -> Add Windows (CIFS) Share
- Name: Downloads (this is the name you’ll see when you connect via Windows Explorer)
- Comment: (optional)
- Path: (browse to the path of the dataset created previously)
- Leave everything else at its default setting
- Click «OK»
Dataset File/Folder Permissions
- Now we need to change the default owner & group on the dataset created
- Click on Storage -> Volumes
- Expand your volumes until you find the dataset created for file sharing
- Click Change Permissions
- Owner (user): EXAMPLE-DOMAINadministrator
- Owner (group): EXAMPLE-DOMAINdomain users
- Mode: (unchangeable)
- Type of ACL: Windows / Mac
- Set permission recursively: unchecked (unless you have files owned by a FreeNAS user stored in this dataset already)
- Click «Change»
Verification
- From a Windows client, open Windows Explorer, and type in »’\freenas»’ — if everything is set properly, you should see the CIFS share you created earlier.
- Enter into the shared directory, and as a simple test — create a folder. If you’re allowed, then it worked!
- If you go into the FreeNAS shell, you can further verify permissions are using Active Directory style permissions
On to managing folder/user permissions!
-
#4
About
If you’re an «I.T. Pro» you can probably disregard this section, as you should already know how to manager folder/file permissions on a file share. Also, if you don’t care that the default permission is that EVERYONE can read/write/modify data on the share, skip this part.
Computer Management
- On your Windows server, click Start -> Administrative Tools -> Computer Management
- On the left tree menu, right click on Computer Management (local) and select Connect to another computer …
- Click the »’Another computer:»’ radio button, and type in »’freenas»’ (or whatever you named your FreeNAS server)
- Click «OK» — if there’s no errors, you should now see »’Computer Management (FREENAS)»’, like so:
- Now, click »’System tools »’ -> »’Shared Folders»’ -> »’Shares»’ and select your CIFS share you created previously
- Right click on your share and select »’Properties»’
- Click on the »’Share Permissions»’ tab, and add/remove/modify your permissions as needed.
The next post lists any known bugs and their fixes (if a fix is also known), as they pertain to Active Directory & CIFS.
- On the left tree menu, right click on Computer Management (local) and select Connect to another computer …
-
#5
Known bugs & issues
9.2.1.5
- Bug #4878
- Issue: CIFS is started, and can’t be turned off, and Directory Services can’t be turned on (usually occurs after a reboot).
- Solution: Patch to fix issue is provided in the bug report. After patch is applied, turn off the CIFS service, then turn on Directory Services (which will automatically turn on the CIFS service).
-
#6
Nice write up! Congrats!
Tell me one more thing. If you enable Unix extensions in Directory Service service it will work? If yes, how have you fixed the error message nss_ldap cannot find directory server?
Thanks in advance!
-
#7
thanks
Tell me one more thing. If you enable Unix extensions in Directory Service service it will work? If yes, how have you fixed the error message nss_ldap cannot find directory server?
I never enabled the Unix extension in the Directory Service. I was looking at the how-to from a viewpoint of having a Windows based network (clients & servers) and integrating FreeNAS into that mix. I would assume most shops with *nix clients would just setup NFS and be done with it. I have everything running in a VM, so I’ll fire it up later and enable the Unix extensions and see what breaks
EDIT: Haven’t enabled the Unix extensions yet in the Directory Services, though I took a really quick peek at the tool tip — if I’m not mistaken, that option should only be enabled if you installed the «Windows Services for Unix» in Windows Server, which I have too little experience with to speak with any authority.
-
#8
I understand your viewpoint.
One more thing: after you add a user to AD, after how much time that user will be available/visible in FreeNAS? If is not, how you fix it, besides a service restart?
-
#9
Not sure — however, I just tested it because now I want to know.
On my FreeNAS 9.2.2 alpha VM, doing a wbinfo -u shows the following users:
However on my Windows 7 test VM, I can already access the file share and create a test folder:
I’m guessing because I set the share/folder group owner to EXAMPLE-DOMAINUsers and the «Everyone» group by default allows everyone access my «Rick» account was able to access and create a folder on the share.
However, test user Bill can still deny Rick access to a folder Bill created:
So the next time Rick logs in to the FreeNAS share, he won’t even know Bill has a test folder there!
But when Steve logs in, he’ll create his folder and even see Bills folder, even though Rick can’t.
The point of all of this is: even though the user doesn’t show up in «wbinfo -u» — permissions still work as intended. Also, 30 minutes later, FreeNAS still hasn’t updated it’s local info, so I guess it’s going to require a service restart if you plan on setting a volume owner to a new AD user specifically.
-
#10
Thank for the update.
Unforunately if you really want to mix things up, you will have to restart the service so it will refresh the data. I have some thoughts about some work arounds. I will post them as soon as I validate them.
-
#11
My pleasure
Unforunately if you really want to mix things up, you will have to restart the service so it will refresh the date.
You lost me here? Refresh the date? Or was this supposed to be «data» ?
I have some thoughts about some work arounds. I will post them as soon as I validate them.
I’m all ears! Once you validate them, I’ll do the same on my end, and add it in to the post. Thanks!
-
#12
Yes. Data. It was a typo… Sorry.
-
#13
Good writeup.
You can force a refresh of by using the rebuild LDAP/ad button at the bottom of the Advanced tab in Settings on your Freenas box.
If your Free as box is acting as a DC the it should update as part of the AD rep period, historically This used to be a max of 36 mins (mcse question) but this would be a large number of servers across multiple sites.
-
#14
Thanks
You can force a refresh of by using the rebuild LDAP/ad button at the bottom of the Advanced tab in Settings on your Freenas box.
See, I did that, and failed to document it (hell I forgot I did that roughly a nanosecond after doing a wbinfo -u and not seeing the new user in the list), since it didn’t provide immediate results at the time.
-
#15
Hi there,
Just followed your how-to and managed to get my freenas test-system into our samba4 AD
Users and groups are there and even when trying «wbinfo -u» , «wbinfo -g» and «getent passwd» , «getent group» via ssh on the freenas box , all sems good.
Strangely if a create a new global group with some users in the AD , this group won’t show up on freenas , to be precise the group shows up in the gui and can be choosen for access rights,
but if I check via ssh/console and wbinfo or getent , the group is missing ?!
Tried everything from deactivating/activating DirectoryServices , Rebuild AD Cache , etc. the group won’t show up in console and is only an empty shell when used in freeNAS Gui.
Any hints on that ? how to get the AD User/Group updated in FreeNAS ?
Regards,
Markus
Update:
Just waited around 2 hours and now the newly created group is available both in GUI and Console AND is working for access rights.
Is there a way to speed up the winbind updating ? Rebuild AD/Cache hasn’t worked !
-
#16
You can use the following commands:
Code:
/usr/local/www/freenasUI/tools/cachetool.py expire /usr/local/www/freenasUI/tools/cachetool.py fill
And you can double check they are loaded correctly with:
Code:
/usr/local/www/freenasUI/tools/cachetool.py keys
Optionally, if you are in a hurry, you can add those commands in cron jobs though web GUI.
Maybe one of the devs can jump right in and tell us what are the events that triggers an AD user/group refresh for the FN GUI. Or if it’s a scheduled job how often that job/expiration/refresh time is being set up.
-
#17
Hi,
I have done everything step by step, but still cannoct connect with Windows 2008 R2 active directory users…
[root@freenas] ~# wbinfo -t
could not obtain winbind interface details: WBC_ERR_WINBIND_NOT_AVAILABLE
could not obtain winbind domain name!
checking the trust secret for domain (null) via RPC calls failed
failed to call wbcCheckTrustCredentials: WBC_ERR_WINBIND_NOT_AVAILABLE
Could not check secret
[root@freenas] ~# wbinfo -u
Error looking up domain users
-
#18
I followed this guide, I’m on 9.2.1.6-beta and stuffs acting funky..
wbinfo -u/g/t all shows the right info and works properly. yet getent passwd and group doesn’t show the ad users/groups. I don’t see any errors at all, and i can’t see users or groups in the permissions of shares. Im not sure whats up.
-
#19
I have been trying to get connected to my AD for a while now with 9.1.x or 9.2.x . From day one, the version 9 releases seemed to worked no problem. Same occurs for the current stable 9.2.1.5 and 9.2.1.6 RC .
Then after a few hours or weeks even, if I restart FreeNAS it never connects to the AD again. I’ve had this problem with a 2008 R2 DC as well as the new 2012 R2 AD. Far as I can tell everything is good, time good, DNS, permissions etc…
In order to get it to work, I have to start fresh with a new USB install, auto-import my volume, set up FreeNAS accordingly it will connect and work…. Till I restart of course.
Now, the interesting thing is, if I shutdown, plug in my 8.3 release on the identical hardware it reconnects to the AD and works flawlessly time and time again.
Something is a miss and I just can’t point my finger at it yet.
-
#20
Superb tutorial! Using 9.2.1.6 and everything works perfectly, even after reboots.
@Markus23: Updates are generally directed by the LDAP controller, not the clients (although it could be FreeNAS, I’m not that experienced in this platform). If you didn’t specify a kerberos server in your configuration, try going to Services > Directory Services > Advanced Settings and type your domain controller, kerberos server and kerberos password server.
Using this how-to configuration, changes on the W2K8 R2 server reflect immediately in the FreeNAS server.
- Status
- Not open for further replies.
Глава 8 Конфигурация сервисов
Раздел Services (Сервисы) GUI позволяет вам конфигурировать, запускать и останавливать различные сервисы предоставляемые системой FreeNAS. FreeNAS поддерживает следующие сервисы:
- Active Directory
- AFP
- CIFS
- Dynamic DNS
- FTP
- iSCSI
- LDAP
- NFS
- Plugins
- Rsync
- S.M.A.R.T.
- SNMP
- SSH
- TFTP
- UPS
Эта глава демонстрирует, как запускать сервисы FreeNAS и описывает опции конфигурации доступные для каждого сервиса FreeNAS.
(Я использую термин «сервис» по отношению к *nix системам, поскольку считаю его более корректным чем термин «служба», используемый в системах Window — п.п.).
8.1 Управление сервисами
Окно Services->Control Services, показанное на рисунке 8.1а, позволяет вам быстро определять, какие сервисы в текущий момент времени работают, запускать и останавливать сервисы, а так же конфигурировать сервисы. По умолчанию, все сервисы (за исключением S.M.A.R.T.) отключены.
В целях разделения между сервисами установленными с FreeNAS и являющимися основой ядра NAS, и сторонними сервисами, которые были установлены в Plugins Jail, экран разделён на две закладки:
- Core (Основные): список сервисов которые были установлены с FreeNAS.
- Plugins (Плагины, подключаемые): список сервисов которые были установлены с использованием Plugins. Эта закладка содержит предупреждение, если сервис Plugins не был запщен на закладке Core экрана Control Services.
Сервис является остановленным если его иконка красного цвета с надписью OFF. Сервис является запущенным если его иконка синего цвета с надписью ON. Для запуска или остановки сервиса нажмите иконку ON/OFF.
Для конфигурирования основных сервисов, нажмите не значок «гаечный ключ», связанный с сервисом или выберите имя сервиса в разделе Services древовидного списка слева.
Если сервис не стартует, перейдите в System->Settings->Advanced и установите флаг «Show console messages in the footer» (показывать консольные сообщения в нижней части). Теперь, в нижней части браузера будут отображаться консольные сообщения. Если щёлкнуть в область консольных сообщений, появится всплывающее окно, позволяющее вам прокручивать вывод и копировать сообщения. Эти сообщения отображают ошибки возникающие при запуске и остановке проблематичного сервиса.
Если вы хотите так же прочитать системные журналы для получения более подробной информации о проблеме сервиса, откройте оболочку и наберите команду more /var/log/messages.
ПРИМЕЧАНИЕ: если вы не можете запустить любой из основных сервисов в рамках ESXi, следует убедится, что у вас используется только один VCPU. Если проблема не в этом, создайте настройку (tunable) названную kern.kz со значением 100.
Рисунок 8.1а: Управление сервисами
8.2 Active Directory
Active directory (AD) — сервис общего доступа к ресурсам в сети Windows. AD может быть сконфигурован на сервере Windows под управлением Windows Server 2000 или выше или на Unix-подобной системе с запущенной Samba версии 4 [ http://wiki.samba.org/index.php/Samba4/HOWTO#Step_4:_Provision_Samba4 ] Поскольку AD предоставляет сервисы аутентификации и авторизации для пользователей сети, вам не нужно пересоздавать учётные записи этих пользователей на системе FreeNAS. Вместо этого, сконфигурируйте сервис Active Directory позволяющий импортировать информацию аккаунтов и импортированные пользователи смогут получать авторизованный доступ к шарам CIFS на системе FreeNAS.
ПРИМЕЧАНИЕ: в поддержку Active Directory на системе FreeNAS было внесено множество изменений и улучшений. Если вы всё ещё не используйте FreeNAS 8.3.0-RELEASE, мы настоятельно рекомендуем обновиться прежде, чем использовать интеграцию с Active Directory.
Прежде чем конфигурировать сервис Active Directory, убедитесь в корректной настройке разрешения имён, путём выполнения ping’а доменного имени контроллера домена Active Directory из оболочки системы FreeNAS. Если ping завершается ошибкой, проверьте настройки сервера DNS и шлюза по умолчанию в Network-Global Configuration на системе FreeNAS.
Затем, добавьте запись DNS для системы FreeNAS на сервере Windows и убедитесь, что вы можете пинговать имя хоста системы FreeNAS с контроллера домена.
Active Directory использует Кerberos, который является протоколом чувствительным ко времени. Это означает, что время на системе FreeNAS и на контроллере домена Active Directory не может быть рассинхронизировано более чем на несколько минут. Лучший способ гарантировать, что время является синхронным на обеих системах является соответствующая настройка обеих систем:
- используется тот же самый сервер NTP (устанавливается в System->NTP Servers на системе FreeNAS)
- используется та же сама временная зона
- на уровне BIOS установлено местное время или универсальное время
Рисунок 8.2а показывает экран Active Directory Configuration (Конфигурация AD), а таблица 8.2а описывает опции конфигурации.
Рисунок 8.2а: Конфигурация AD
Таблица 8.2а: Опции конфигурации Active Directory
- Domain Name (Имя домена) nbsp; строка имя домена AD (например example.com) или дочернего домена (например sales.example.com)
- NetBIOS Name (Имя NetBIOS строка имя системы FreeNAS
- Workgroup Name (Имя рабочей группы) nbsp; строка имя рабочей группы Windows (для старых клиентов Microsoft)
- Allow Trusted Domains (позволить доверенные домены) nbsp; флаг флаг должен быть установлен если сеть сеть имеет активные доверенные домены/лес [ http://technet.microsoft.com/en-us/library/cc757352(WS.10).aspx ] и необходимо управлять файлами на нескольких доменах; следует использовать с осторожностью, так как будет генерировать много трафика winbindd, снижающего скорость прохождения информации пользователя/группы
- Use default domain (использовать домен по умолчанию) nbsp; флаг когда флаг снят, имя домена добавляется к имени пользователя; если установлен флаг Allow Trusted Domains и несколько доменов используют те же самые имена пользователей, снимите этот флаг для предотвращения конфликтов имён
- UNIX extensions (расширения UNIX флаг если сервер AD был сконфигурирован для отражения разрешений пользователей UNIX, установите этот флаг предоставив постоянные UID и GUID; в противном случае пользователи/группы получат отражения для UID/GUID в диапазоне сконфигурированном в Samba
- Verbose logging (Многословное журналирование флаг если флаг установлен, журнал домена включается в /var/log/messages
- Administrator Name (имя администратора) nbsp; строка имя учётной записи администратора в AD
- Administrator Password (пароль администратора) строка пароль учётной записи администратора в AD
ПРИМЕЧАНИЕ: AD накладывает ограничения на использование некоторых символов в имени домена и имени NetBIOS. Если у вас возник проблемы с подключением, убедитесь, что ваши настройки не содержат запрещённых символов. Кроме того, пароль администратора не может содержать символ $. Если в пароле администратора домена присутствует символ $, kinit будет сообщать об ошибке «Password Incorrect», а ldap_bind будет возвращать ошибку «Invalid credentials (49)».
После того, как вы сконфигурировали сервис Active Directory, запустите его в Services->Control Services. Это может занять несколько минут в связи с заполнением информации AD в системе FreeNAS. После заполнения, пользователи и группы AD будут доступны в выпадающем меню экрана установки разрешений тома/набора данных. По соображениям производительности, все доступные пользователи не могут быть показаны в списке. Тем не менее, он будет заполняться доступными пользователями при начале набора их имени.
Вы можете проверить, какие пользователи и группы AD были импортированы на систему FreeNAS, используя команды оболочки FreeNAS:
wbinfo -u (для просмотра пользователей)
wbinfo -g (для просмотра групп)
Дополнительно, wbinfo -t будет тестировать соединение и, если всё нормально, выдаст сообщение аналогичное этому:
checking the trust secret for domain YOURDOMAIN via RPC calls succeeded
Для ручной проверки возможности аутентификации конкретного пользователя:
net ads join -S dcname -U username
Если не все пользователи или группы перечислены в выводе этой команды, следующие команды предоставляют более подробную информацию:
getent passwd
getent group
продолжение следует…
FreeNAS — свободная операционная система для сетевого хранилища (wiki).
Официальный сайт проекта — http://www.freenas.org/. На оф. сайте очень много полезных инструкций, в том числе и в формате видео.
Как показала практика — развертывание данной ОС дело нескольких минут, и если вам нужно хранилище только для дома, то большого количества настроек не надо.
Ну а если нужно развернуть NAS в офисной (доменной) среде, то далее статья именно об этом.
Проблема в том, что в RU зоне подробного описания проблемы нет, точнее есть, но для предыдущей версии 0.7.1.
В текущей версии имена параметров не совпадают с действительными настройками, требующимися для работы в среде MS AD.
Допустим, наши базовые настройки сервера AD следующие:
IP адрес AD: 192.0.0.1
Маска сети: 255.255.255.0
Шлюз: 192.0.0.210
Имя сервера AD: mail
Имя домена: drop.ru
NETBIOS имя домена: DROP
Имя администратора домена: Administrator
Пароль администратора: r4nd0m2!
Настройка
Для начала нужно настроить сетевой интерфейс и обязательно указываем IP адрес DNS (Nameserver) сервера — 192.0.0.1.
После этого нужно перезагрузить машину, для того чтобы настройки вступили в силу.
Далее, для корректной работы с доменом требуется чтобы время на FreeNAS совпадало с временем на сервере AD (настройка на последнем расписана здесь).
Для этого в настройках указываем зону времени «Etc/Universal
» и прописываем NTP сервера:
0.freebsd.pool.ntp.org iburst maxpoll 9
1.freebsd.pool.ntp.org iburst maxpoll 9
2.freebsd.pool.ntp.org iburst maxpoll 9
В расширенных настройках (Advanced) ставим галочку — показывать консольные сообщения.
Далее — настраиваем диски (создаем партицию).
Настраиваем сервис Active Directory (в англ. версии)
Domain Controller Name: mail
Domain Name (DNS/Realm-Name): drop.ru
(в некоторых случаях может потребоваться использовать IP адрес домен контроллера вместо имени домена)Hostname (NetBIOS name): DROPNAS
(тут должно быть имя Вашего NAS с которым он будет зарегистрирован в AD. Обязательно вводить в ВЕРХНЕМ РЕГИСТРЕ)Workgroup Name: DROP
(NETBIOS имя домена)Administrator: Administrator
(имя администратора домена).Password: r4nd0m2!
(пароль администратора. ВАЖНО — не использовать в пароле символ $ т.к. FreeNAS не принимает его)
Теперь включаем сервис Active Directory.
Когда машина пропишется в домене можно приступить к настройке сервиса CIFS.
Заходим в настройки сервиса CIFS и ставим следующие параметры:
Authentication Model: Local User
NetBIOS Name: DROPNAS
(тут должно быть имя Вашего NAS, такое же как и в настройках AD. Обязательно вводить в ВЕРХНЕМ РЕГИСТРЕ)Workgroup: DROP
(NETBIOS имя домена)
Description: всё что Вашей душе угодно
Local Master: (ставим галочку)
Time Server for Domain: (ставим галочку)
Guest Account: Nobody
Allow Guest Access: (ставим галочку)
Large RW Support: (ставим галочку)
Send files with sendfile(2): (ставим галочку)
EA Support: (ставим галочку)
Support DOS File Attributes: (ставим галочку)
Enable AIO: (ставим галочку)
Остальные настройки оставляем по умолчанию.
Запускаем сервис.
Для чистоты эксперимента перезагружаем машину.
Далее нужно настроить разрешения на файловом уровне.
Заходим в настройки хранилища (STORAGE — VOLUMES — VIEW ALL VOLUMES) нажимаем на четвертую иконку (Change Permissions) и прописываем следующее:
Owner (user) -
DROPAdministrator
Owner (group) - DROPDomain Users
ставим галочки напротив write для Owner и Group
ставим тип ACL - Windows
можно поставить галочку - Set permission recursively
Теперь создаем WINDOWS SHARE
Вводим имя шары (это имя будет видно в сети): data
Путь к диску: /mnt/disk1 (ну или тот, который будет у Вас)
Browse to Network Clients: (ставим галочку)
Export Recycle Bin: (ставим галочку)
Остальные настройки оставляем по умолчанию.
Теперь можно зайти на созданную шару из проводника по пути \DROPNASDATA
Оригинал данной статьи был взят по адресу http://www.raindropsoftware.co.uk/freenassetup и переведен мною для общего пользования.
В предыдущей статье я использовал простаивающие ресурсы для создания NAS. Далее следует добавить сервер NAS в домен AD для синхронизации учетных записей.
1. Добавьте записи DNS в домен AD.
Добавьте запись, указывающую на NAS, в службу DNS в домене. Имя хоста должно соответствовать информации о подключении на шаге 2 ниже.
После создания имя хоста ping может правильно интерпретировать IP-адрес сервера NAS.
2. Установите DNS-сервер NAS.
Имя хоста соответствует имени хоста записи DNS на шаге 1, а служба интерпретации имени домена указывает на DNS домена.
3. Настройте информацию о подключении к домену AD.
Введите имя домена, администратора домена и пароль, другие элементы выбираются в соответствии с вашей ситуацией (обычно достаточно значения по умолчанию)
Самый важный выборEnableИ сэкономить.
4. Проверьте, успешно ли установлено соединение.
Перейдите в окно Shell и выполните следующую команду
wbinfo -u # Список всех пользователей
wbinfo -g # Список всех групп
Если пользователи и группы пользователей в домене могут быть перечислены в обычном порядке, соединение успешно.