Обновлено 26.07.2016
Как установить NFS server в Windows Server 2008 R2
Всем привет сегодня рассмотрим как установить NFS server в Windows Server 2008 R2. Эта тема в догонку к ранее уже описанной Как установить NFS server в Windows Server 2012 R2. Давайте попробуем сделать из нашего сервера под управлением Windows Server 2008 R2 хранилище виртуальных машин по протоколу NFS. Для этого мы с вами установим специальную роль через графические и консольные средства.
Как установить NFS роль через графический интерфейс
Для установки NFS server откройте Диспетчер сервера и нажимаем Добавить роли
Как установить NFS server в Windows Server 2008 R2-01
Выбираем в мастере установки Файловые службы
Как установить NFS server в Windows Server 2008 R2-02
Далее будет окно которое познакомит вас с данной ролью пропускаем его.
Как установить NFS server в Windows Server 2008 R2-03
Выбираем компонент Службы для NFS
Как установить NFS server в Windows Server 2008 R2-04
Установить.
Как установить NFS server в Windows Server 2008 R2-05
Пройдет немного времени и роль установится.
Как установить NFS server в Windows Server 2008 R2-06
Как установить NFS роль через консоль
Для решения данной задачи нам поможет команда servermanagercmd. Открывает командную строку и вводим
servermanagercmd -install FS-FileServer -FS-NFS-Services
Как установить NFS server в Windows Server 2008 R2-07
Вот так вот просто установить NFS server в Windows Server 2008 R2.
Материал сайта pyatilistnik.org
Июл 26, 2016 23:31
Используя сетевую файловую систему NFS можно предоставить доступ серверам ESXi к файловым ресурсам или дисковой емкости другого оборудования, работающего под различными ОС. Например, удобно сделать доступными iso-образы, чтобы проще было их подключать к CD-ROM накопителям виртуальных машин.
Рассмотрим порядок установки и настройки связки NFS сервиса и VMware ESXi на примере сервера под Windows 2008 в самом простом варианте, без использования Active Directory:
1. Устанавливаем необходимые роли, а именно «Файловые службы» и ниже по иерархии «Служба для NFS».
2. После того как установка закончится, рекомендуется проверить, работает ли сервис «Служба для NFS» и открыт ли порт 111.
Иногда установке NFS сервиса может помешать уже работающая программа или служба, использующая тот же 111 порт. Например, так себя может вести «ONC/RPC Portmapper». В таком случае придется решить конфликт, отключив данный сервис.
3. Далее заходим в свойства той папки, которую будем расшаривать по NFS. Переключаемся на закладку «Совместный доступ NFS».
4. Нажимаем «Управление доступом NFS» и переходим в новое окно. Устанавливаем следующие настройки:
5. Ставим галку «Открыть общий доступ к этой папке», именуем общий ресурс, хотя лучше оставить имя по-умолчанию. Далее снимаем две следующие галки, оставляя «Не использовать серверную проверку подлинности» и устанавливаем «Разрешить доступ несопоставленным пользователям», затем «Разрешить анонимный доступ» и в полях анонимных UID и GID пишем идентификатор встроенного пользователя ESXi для работы с NFS(
nfsnobody
): 65534.
6. Нажимаем «Разрешения»:
7. В данном окне нужно выбрать тип доступа и обязательно поставить галку «Разрешить доступ с правами root». Тут также можно более подробно настроить доступ хостов к серверу NFS. На картинке показана лишь одна группа по-умолчанию, но с помощью консольной утилиты «nfsadmin« можно создать свои группы(«nfsadmin server creategroup MyGroup») и добавить туда необходимые клиенты(«nfsadmin server addmembers MyGroup \MyESXiHost»).
8. Далее заходим в свойство расшариваемой директории в параметры безопасности и добавляем требуемые права для файловой системы NTFS локальной группе «АНОНИМНЫЙ ВХОД».
9. Если нужен доступ не только на чтение, но и на запись, в настройках локальной политики безопасности нужно обязательно включить параметр «Сетевой доступ: разрешать применение разрешений «Для всех» к анонимным пользователям»(«Локальные политики -> Параметры безопасности»).
10. Продолжаем настройку на стороне ESXi. В vSphere Client выберите нужный сервер, затем переходим на
«Configuration»->»Storage»->»Add Storage»
. Выбираем «Network File System»:
11. Заполняем параметры подключения(
имя сервера
,
название шары на сервере
,
название хранилища на ESXi
). Устанавливаем галочку «Mount NFS read only» если доступ должен быть только в режиме чтения.
При успешном подключении и последующей проверке доступности хранилища можно считать задачу завершенной.
Согласитесь, и у Вас когда-либо возникала проблема с нехваткой дискового пространства на ESX. И само-собой встает вопрос, а что делать??? Конечно самое простое это добавить хардов и проблема решена, но не всегда это возможно, к примеру, нет денег на HDD или же еще хуже, закончились свободные отсеки для HDD. И опять же что делать?
Если у Вас к примеру есть сервер, работающий на Windows 2008 R2, и на нем есть достаточно свободного места, то его можно прекрасно использовать для наших целей.
Итак переходим от прелюдий к практике:
1. Заходим Start > Administrative Tools > Server Manager
Выбираем Roles и нажимаем Add Roles:
Далее выбираем Роль File Services
В следующем меню нас интересует только Services for Network File System:
Нажимаем Далее и устанавливает данную Роль.
Если данный Windows 2008 Server не является контроллер AD, то устанавливаем Роль Active Directory Domain Services, иначе пропускаем этот пункт и делаем все дальше.
P.S. Как устанавливать AD думаю описывать не стоит…
В окне Server Manager в категории Active Directory жмем Add Roles Services
Устанавливаем Роль маппинг в AD для UNIX-систем.
После установки перегружаем сервер.
После перезагрузки сервера запускаем Active Directory Users and Computers из меню Administrative Tools. Раскрываем дерево домена и выбираем OU Users:
Добавляем новую группу:
Нажимаем ОК и открываем группу еще раз, переходим на закладку UNIX Attributes, тут в качестве NIS Domain выбираем имя домена и устанавливаем GID (Group ID) в 0
С группами покончили, создаем User и добавляем его в нашу созданную группу UnixGroup. Далее перейдите на вкладку UNIX Attributes. Там в качестве NIS Domain выбираем имя домена и устанавливаем GID (Group ID) в 0. Это позволит серверу VMware ESX получить доступ к NFS-ресурсу для пользователя.
Теперь в Administrative Tools открываем Service for Network File System (NFS). Нажимаем правой кнопкой на Services for NFS и выбираем Properties:
На вкладке General Settings в поле Identity mapping source вводим имя домена:
Теперь создаем папку, где будут храниться виртуальные машины на хранилище NFS. Заходим в ее свойства и переходим на вкладку NFS Sharing, жмем Manage NFS Sharing.
Далее попадаем в окно, где ставил галочку Share this folder и вводим Share name (!без пробела!), а также ставим как изображено на картинке Allow anonymous access:
Нажимаем кнопку Permissions и меняем тип доступа на Read-Write, так же ставим галку: Allow root access checkbox.
Если все получилось, то в поле Network Path в свойствах NFS-шары будет отображен путь к этому ресурсу.
С виндой закончили, теперь заходим в наш родной vSphere Client, жмем Add Storage, указываем Network File System указываем FQDN-имя сервера Windows 2008 Server R2, в поле Folder указываем имя папки на Windows Server, а в поле Datastore Name указываем имя нового виртуального хранилища NFS.
Теперь хранилище доступно, можно указывать при создании новой машины или перераспределении места существующей.
Всем удачи, с Вами был valhome
Доброго времени, уважаемые читатели и гости блога! В продолжении прошлой темы о NFS, хочу опубликовать небольшой мануал как настроить экспортированные каталоги NFSv4 на проверку подлинности через Active Directory на Windows 2008 R2. Данный пост я реализовывал на дистрибутиве Debian. Удачно заставить работать NFSv4 и AD на Windows 2008 мне удалось только на тестовой версии — wheezy с ядром 3.0.0. На версии squeeze до сих пор идут дебаты по поводу ошибки
Nov 17 11:20:49 archiv rpc.svcgssd[13849]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): GSS_S_FAILURE (Unspecified GSS failure. Minor code may provide more information) - No supported encryption types (config file error?)
Если появится какое-либо решение этой проблемы, то я обновлю пост…
План интеграции Active Directory на Windows 2008 R2 и NFSv4 на Linux (Debian wheezy)
В целом, организацию проверки подлинности ресурсов NFS посредством Kerberos можно представить в виде следующей последовательности шагов:
1. Настроить NFS и проверить работоспособность без Kerberos по протоколу NFSv4
- Настройка NFSv4 на сервере
- Настройка NFSv4 на клиенте.
2. Настроить Kerberos
- Предварительная настройка DNS и контроллера домена.
- Настройка синхронизации времени (на основе демона ntpd)
- Настроить и проверить Kerberos на идентификацию пользователя без ключевого файла krb5.keytab.
- Создать ключевой файл krb5.keytab на KDC (контроллер домена Windows 2008 R2)
- Настроить и проверить работу Kerberos для авторизации через krb5.keytab
3. Настроить NFSv4 на проверку подлинности через Kerberos.
- Настроить и проверить работу сервера NFSv4 на Debian
- Настроить и проверить работу клиента NFSv4 на Debian
4. Траблешуттинг Troubleshooting
Давайте подробней разберем каждый шаг.
Исходные данные для организации NFS
- домен — DOMAIN.LOCAL
- DNS-имя контроллера домена — DC.DOMAIN.LOCAL
- IP-адрес контроллера домена — 10.0.0.4
- NFS-server
- DNS-имя NFS сервера — NFSD.DOMAIN.LOCAL
- IP-адрес NFS сервера — 10.0.0.50
- NFS-client
- DNS-имя NFS сервера — NFSC.DOMAIN.LOCAL
- IP-адрес NFS сервера — 10.0.0.51
1. Настройка NFSv4 без Kerberos
1.1., 1.2. Настройка NFSv4 сервера и клиента
Я решил объединить эти 2 пункта, т.к. они содержат очень похожие шаги. Поэтому начнем настройку с общих этапов для клиента и сервера. Итак, и на клиенте и на сервере необходимо настроить сеть в Debian. (Так же можно почитать статью основные понятия сетей). На сервере и клиенте необходим установленный пакет nfs-common с необходимыми зависимостями (portmap). Для того чтобы протокол Kerberos работал корректно, необходимо обязательно правильно настроить файлы /etc/hosts, /etc/hostname, /etc/resolv.conf, ну и конечно /etc/network/interfaces. Для того чтобы избавиться от возможных ошибок при работе к Kerberos, необходимо учесть некоторые нюансы (хотя и без этих нюансов скорей всего заработает), которые я отмечу комментариями:
root@nfsc:~# cat /etc/hosts 10.0.0.51 nfsc.DOMAIN.local nfsc 127.0.0.1 localhost # для Kerberos советуют указывать именно такой порядок # то есть первой строкой именно 10.0.0.51 (внешний IP, не loopback) root@nfsc:~# cat /etc/hostname nfsc root@nfsc:~# cat /etc/resolv.conf domain DOMAIN.local search DOMAIN.local nameserver 10.0.0.4 root@nfsc:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.0.0.51 netmask 255.255.0.0 gateway 10.0.0.254 ================================== root@nfsd:~# cat /etc/hosts 10.0.0.50 nfsd.DOMAIN.local nfsd 127.0.0.1 localhost root@nfsd:~# cat /etc/hostname nfsd root@nfsd:~# cat /etc/resolv.conf domain DOMAIN.local search DOMAIN.local nameserver 10.0.0.4 root@nfsd:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.0.0.50 netmask 255.255.0.0 gateway 10.0.0.254
Думаю видно, где тут сервер, где тут клиент? Если все же — нет, то как я уже говорил выше nfsd — это сервер и имеет строку root@nfsd:~#, а nfsс — это клиент и имеет строку root@nfsc:~#. На клиенте и на сервере необходимо иметь установленный пакет nfs-common, как он устанавливается и из чего он состоит я писал в прошлой статье. В конфигурационном файле NFS клиента (/etc/default/nfs-common) необходимо добавить «yes» в параметр NEED_IDMAPD=yes и NEED_GSSD=yes. Это разрешить запуск демонов rpc.idmapd и rpc.gssd, которые необходимы для работы интерфейса GSS-API для взаимодействия с Kerberos. После этого, необходимо перезапустить nfs-common на обеих машинах.
root@nfsс:~# service nfs-common restart Stopping NFS common utilities: gssd idmapd statd. Starting NFS common utilities: statd idmapd gssd.
Далее, настройка производится на cервере. На сервере NFS необходимо установить пакет nfs-kernel-server. И задать экспортируемые каталоги в файле /etc/exports, перезапустить сервер и проверить сделанное командой showmount:
root@nfsd:~# mkdir /nfs root@nfsd:~# vim /etc/exports root@nfsd:~# cat /etc/exports /nfs 10.0.0.51(rw,sync,no_subtree_check) 10.0.0.50(rw,sync,no_subtree_check) root@nfsd:~# service nfs-kernel-server restart Stopping NFS kernel daemon: mountd nfsd. Unexporting directories for NFS kernel daemon.... Exporting directories for NFS kernel daemon.... Starting NFS kernel daemon: nfsd mountd. root@nfsd:~# showmount -e Export list for nfsd: /nfs 10.0.0.50,10.0.0.51
На этом настройка сервера и клиента завершена. Давайте проверим наши настройки. Сначал необходимо попробовать смонтировать экспортированный каталог локально на сервере по протоколу NFSv4:
root@nfsd:~# mount -v -t nfs4 10.0.0.50:/nfs /mnt mount.nfs4: timeout set for Fri Nov 18 12:20:52 2011 mount.nfs4: trying text-based options 'addr=10.0.0.50,clientaddr=10.0.0.50' 10.0.0.50:/nfs on /mnt type nfs4 (rw) root@nfsd:~# mount | grep nfs4 10.0.0.50:/nfs on /mnt type nfs4 (rw,addr=10.0.0.50,clientaddr=10.0.0.50)
Как видно, монтирование произошло удачно. Более подробно о команде mount тут, а еще подробней — в man mount. Теперь проверим возможность удаленного монтирования с клиентской машины:
root@nfsc:~# mount -v -t nfs4 10.0.0.50:/nfs /mnt mount.nfs4: timeout set for Fri Nov 18 11:01:16 2011 mount.nfs4: trying text-based options 'addr=10.0.0.50,clientaddr=10.0.0.51' 10.0.0.50:/nfs on /mnt type nfs4 (rw) root@nfsc:~# mount | grep nfs4 10.0.0.50:/nfs on /mnt type nfs4 (rw,addr=10.0.0.50,clientaddr=10.0.0.51)
Как видно, опять все удачно. На этом можно считать, что NFS корректно работает по протоколу NFSv4. Теперь можно приступить к настройке протокола Kerberos на Debian.
2. Настройка протокола Kerberos на Debian
2.1. Предварительная настройка DNS и Active Directory
Для корректной работы Kerberos в Linux необходима правильная настройка DNS. «Настройка DNS» тут громко сказано, просто нужно иметь корректные записи в прямой и обратной зоне для клиента NFS и сервера NFS. Создаем эти записи в оснастке DNS (изображение) и проверим работу на Debian:
root@nfsc:~# nslookup -type=A nfsc Server: 10.0.0.4 Address: 10.0.0.4#53 Name: nfsc.DOMAIN.local Address: 10.0.0.51 root@nfsc:~# nslookup -type=A nfsd Server: 10.0.0.4 Address: 10.0.0.4#53 Name: nfsd.DOMAIN.local Address: 10.0.0.50 root@nfsc:~# nslookup 10.0.0.50 Server: 10.0.0.4 Address: 10.0.0.4#53 50.0.0.10.in-addr.arpa name = nfsd.domain.local. root@nfsc:~# nslookup 10.0.0.51 Server: 10.0.0.4 Address: 10.0.0.4#53 51.0.0.10.in-addr.arpa name = nfsc.domain.local.
DNS корректно отдает наши IP по именам и имена DNS по IP. Это меговажный момент, ибо Kerberos активно взаимодействует с DNS и без данных записей просто не будет работать!
2.2. Настройка синхронизации времени для протокола Kerberos
Для работы среды Kerberos v5 необходимо, чтобы расхождение времени KDC и хостов, запрашивающих доступ к каким-либо ресурсам и времени на хостах, предоставляющих сами ресурсы не составляло более 5 минут. Для синхронизации будем использовать возможности пакета ntp. О том, как настроить сервер и клиента NTP я уже рассказывал в прошлых статьях, поэтому отправлю вас читать NTP server на Linux. Здесь же ограничусь основными параметрами. Итак, на клиенте и сервере NFS необходимо установить пакет ntp, отредактировать файл конфигурации /etc/ntp.conf до следующего вида (после этого перезапустить службу ntp):
root@nfsd:~# cat /etc/ntp.conf server dc.domain.local restrict default ignore restrict dc.domain.local restrict 127.0.0.1 nomodify notrap root@nfsd:~# service ntp restart Stopping NTP server: ntpd. Starting NTP server: ntpd.
2.3. Настройка клиента Kerberos на Debian Wheezy для доменной аутентификации
Данный этап необходимо сделать как на клиенте, так и на сервере — он одинаков как для сервера, так и для клиента NFS. Поэтому покажу, как настроить на примере сервера. Для Kerberos необходимо установить пакет krb5-user с зависимостями (он должен подтянуть krb5-config), далее его необходимо настроить. Настройка заключается в редактировании файла /etc/krb5.conf. Данный файл содержит настройки, необходимые библиотекам, взаимодействующим со средой Kerberos V, такие как область (ее еще называют realm) по умолчанию, расположение серверов KDC (key distribution centers) для известных областей и др. По синтаксису файл очень похож на файл конфигурации SAMBA (smb.conf) и так же состоит из разделов, выделенных квадратными скобками и параметров в формате параметр=значение (более подробно о настройках этого файла в man krb5.conf). Для работы в сети с одной областью вполне достаточно следующего конфигурационного файла:
root@nfsd:~# cat /etc/krb5.conf [libdefaults] default_realm = DOMAIN.LOCAL [realms] DOMAIN.LOCAL = { kdc = dc.domain.local }
Раздел [libdefaults] содержит значения по-умолчанию для Kerberos V библиотек, а параметр default_realm задает область по умолчанию, которая будет задействована при взаимодействии с Kerberos. Раздел [realms] содержит подразделы с параметрами, отписывающими область Kerberos, например расположение KDC контроллера. Остальные параметры, которые часто советуют указывать в этом файле вполне работоспособны и по-умолчанию. После данной настройки давайте проверим работоспособность Kerberos, для этого используется утилита kinit. Kinit запрашивает, получает и кэширует TGT (ticket-granting ticket)-билеты от KDC.
root@nfsc:~# # получаем билет для любого доменного пользователя root@nfsc:~# kinit domainuser Password for domainuser@DOMAIN.LOCAL: root@nfsc:~# # после ввода пароля ошибок не было root@nfsc:~# # значит билет получен корректно root@nfsc:~# # просмотрим содержимое кэша: root@nfsc:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: domainuser@DOMAIN.LOCAL Valid starting Expires Service principal 11/18/11 16:12:00 11/19/11 02:12:08 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL renew until 11/19/11 16:12:00 root@nfsc:~# ls -la /tmp/krb5* -rw------- 1 root root 1101 Ноя 18 16:12 /tmp/krb5cc_0 root@nfsc:~# # очистим содержимое кэша: root@nfsc:~# kdestroy root@nfsc:~# ls -la /tmp/krb5* ls: невозможно получить доступ к /tmp/krb5*: Нет такого файла или каталог
Как видно, билет корректно получен. Не забудьте те же действия проделать на сервере.
Тут я сделаю небольшое отступление в виде абзаца, взятого не помню откуда и не с первого прочтения подающегося пониманию, но тем не менее, хорошо описывающего работу Kerberos ):
Сервер Kerberos свободно распространяет TGT (Ticket Granting Ticket) на каждый неавторизованный запрос; однако, каждый TGT зашифрован ключом, полученным из пароля пользователя. Следовательно, когда пользователь вводит свой пароль, он не отправляется на KDC, а используется для расшифровки TGT, который уже получен kinit. Если в процессе расшифровки получается правильный билет с правильным значением времени, у пользователя есть действующее удостоверение. Это удостоверение содержит ключ сессии для установления безопасного соединения с сервером Kerberos, как и действующий TGT, зашифрованный ключом сервера Kerberos. Второй уровень шифрования недоступен пользователю, но позволяет серверу Kerberos проверять правильность каждого TGT.
Идем дальше…
2.4. Создание keytab-файла на контроллере домена Windows 2008 R2
Перед созданием ключевого файла необходимо создать учетные записи для хостов (сервера и клиента) NFS, соответствующие именами хостов:
Наступает самый интересный этап. Не углубляясь в Kerberos, keytab-файл это «связка ключей», файл содержащий в себе одну или несколько запсей — ключей, которые используются вместо логина/пароля при запросе доступа у сервера KDC к какому-либо ресурсу. Другими словами, машина предоставляет данный файл серверу KDC как подтверждение своей достоверности, когда запрашивает у контроллера домена (KDC) доступ к какому-либо ресурсу (например доступ к службе или сетевому каталогу). В большинстве случаев, при настройке какой-либо службы в связке с Kerberos проблемы возникают именно на данном этапе, т.к. именно этот файл является связующим звеном между Windows 2008 и Linux (в нашем случае — Debian). Проблемы обычно связаны с различными типами шифрования, которые поддерживает Windows, но не поддерживает Linux и наоборот…
Итак, согласно документации жадных, Windows 7 и Windows Server 2008 R2 более не поддерживают типы шифрования, основанные на DES (DES-CBC-MD5 & DES-CBC-CRC), но в них включены следующие типы шифрования (по убиванию стойкости):
- AES256-CTS-HMAC-SHA1-96
- AES128-CTS-HMAC-SHA1-96
- RC4-HMAC
При этом, необходимо учитывать, что если при использовании Kerberos будут использоваться клиенты на основе WinXP и младше, то они из всего приведенного поддерживают только RC4-HMAC.
keytab создается с помощью утилиты ktpass (документация по ней), которая с Windows 2003 SP1 входит в состав дистрибутива, а в дистрибутивах младше — необходимо установить отдельно Microsoft Server SupportTools, имеющегося на диске с дистрибутива Windows Server . Формат создания keytab утилитой ktpass следующий:
ktpass.exe /princ имя_службы/fqdn.имя.хоста@ИСПОЛЬЗУЕМАЯ.ОБЛАСТЬ /mapuser учетная_запись_хоста$@ИСПОЛЬЗУЕМАЯ.ОБЛАСТЬ /crypto тип_шифрования /ptype ТИП_ПРИНЦИПАЛА /pass пароль_или_+rndpass /out C:каталогсоздаваемый_файл
В примере параметры команды для удобства выстроены в столбик, реально же они пишутся все в одну строку. Давайте поймем, что делает команда ktpass и ее параметры и все их рассмотрим. Вообще, говоря о функциях и назначении данной программы, то создание keytab файла — это одна из двух ее функций, другая функция — это создание принципала (/princ), «привязанного» (примапленного — /mapuser) к учетной записи компьютера или пользователя. Принципал представляет собой SPN-запись (server principal name, дословно — имя основного сервера), думаю, что из дословного перевода SPN, понятно что назначение этой записи — указать на компьютер, предоставляющий тот или иной сервис (службу, в нашем случае — служба NFS). О том, что есть принципал (SPN) — более подробно — можно почитать тут. Давайте пойдем по прядку по параметрам…
Параметр /princ
Задает имя службы и хост, на котором она (служба) расположена и в какой области домене. В нашем случае указывается nfs/nfsd.domain.local@DOMAIN.LOCAL (для сервера NFS) и nfs/nfsс.domain.local@DOMAIN.LOCAL (для клиента NFS). Для примера, для службы Apache указывается принципал HTTP/fqdn.имя.хоста@ИСПОЛЬЗУЕМАЯ.ОБЛАСТЬ, причем HTTP обязательно В ВЕРХНЕМ РЕГИСТРЕ, многие службы требуют указания имени службы в SPN именно в верхнем регистре. Узнать, в каком регистре и какое значение имя_службы указывать можно из документации к службе, например в man rpc.gssd есть такая информация. Очень часто указывается общее имя принципала host/fqdn@REALM. Стоит отметить такой нюанс…почему-то во всех источниках указывают, что должно стоять имя FQDN. Но на сколько я знаю, FQDN-имя предполагает наличие точки в конце имени, но тем не менее — точку не ставят в данном случае.
Параметр /mapuser
Задает имя доменной учетной записи, к которой «цепляется» указанный выше SPN. Для нас это будет созданные в предыдущем разделе учетные записи компьютеров nfsc$@DOMAIN.LOCAL — для клиента и nfsd$@DOMAIN.LOCAL — для сервера.
Параметр /crypto
Задает тип шифрования Kerberos, который будет использоваться при шифрации/дешифрации билетов, передаваемых между контроллером домена KDC и хостами. На Windows 2008 R2 мне удалось запустить корректную аутентификацию при указании параметра /crypto ALL (то есть keytab создавался с несколькими принципалами со всеми поддерживаемыми типами шифрования). Тем не менее, желательно придерживаться следующих правил, чтобы избежать проблем с шифрованием: для win 2k и 2k3 желательно указывать /crypto DES-CBC-MD5, для Win 2k3 SP1 — /crypto rc4-hmac-nt, для Windows 2008 R2 — /crypto AES256-SHA1 или /crypto rc4-hmac-nt.
Параметр /ptype
Задает тип принципала. В значении этого параметра рекомендуется указывать KRB5_NT_PRINCIPAL, т.к. подходит практически для всех служб.
Параметр /pass
Задает пароль, который может быть указан вручную, или устанавливает произвольный пароль, если задано значение +rndpass.
Параметр /out
Задает имя выходного файла keytab.
Итак, рассмотрев параметры, можно составить команды, которые создадут нам необходимые keytab файлы на контроллере домена:
C:Windowssystem32>ktpass.exe /princ nfs/nfsc.domain.local@DOMAIN.LOCAL /mapuser nfsc$@DOMAIN.LOCAL /crypto ALL /ptype KRB5_NT_PRINCIPAL /pass +rndpass /out C:tmpnfsckeytab Targeting domain controller: DC.domain.local Using legacy password setting method Successfully mapped nfs/nfsc.domain.local to NFSC$. WARNING: Account NFSC$ is not a user account (uacflags=0x1021). WARNING: Resetting NFSC$'s password may cause authentication problems if NFSC$ is being used as a server. Reset NFSC$'s password [y/n]? y WARNING: pType and account type do not match. This might cause problems. Key created. Key created. Key created. Key created. Key created. Output keytab to C:tmpnfsckeytab: Keytab version: 0x502 keysize 55 nfs/nfsc.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-CBC-CRC) keylength 8 (0x206e7fbaa738ec1c) keysize 55 nfs/nfsc.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-CBC-MD5) keylength 8 (0x206e7fbaa738ec1c) keysize 63 nfs/nfsc.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-HMAC) keylength 16 (0x85a6dea042798a45a547f8450e1115fc) keysize 79 nfs/nfsc.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12 (AES256-SHA1) keylength 32 (0x624fe15973fb5bda6c88a289260789cd16b135451f296 a83679424c27c04507a) keysize 63 nfs/nfsc.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11 (AES128-SHA1) keylength 16 (0x5ea804c4527c2467f7c710d845c09821)
Это был клиент. Как видно, вывалилось несколько «варнингов». Первый нам говорит, о том, что это аккуант не пользователя, а компьютера, второй — что могут возникнуть проблемы, если мы сбросим пароль (но мы то знаем, что делаем, поэтому подтверждаем и жмахаем Ентер), третий говорит нам, что ptype не соответствует аккуанту. Это произошло потому что мы указали «общий» тип, а привязали принципал к учетной записи хоста. Теоретически, это не должно привести к проблемам при настройке, но если сообщение мозолит глаза, то можно указать тип KRB5_NT_SRV_HST. Давайте теперь создадим кейтаб для сервера NFSv4:
C:Windowssystem32>ktpass.exe /princ nfs/nfsd.domain.local@DOMAIN.LOCAL /mapuser nfsd$@DOMAIN.LOCAL /crypto ALL /ptype KRB5_NT_PRINCIPAL /pass +rndpass /out C:tmpnfsdkeytab Targeting domain controller: DC.domain.local Using legacy password setting method Successfully mapped nfs/nfsd.domain.local to NFSD$. WARNING: Account NFSD$ is not a user account (uacflags=0x1021). WARNING: Resetting NFSD$'s password may cause authentication problems if NFSD$ is being used as a server. Reset NFSD$'s password [y/n]? y WARNING: pType and account type do not match. This might cause problems. Key created. Key created. Key created. Key created. Key created. Output keytab to C:tmpnfsdkeytab: Keytab version: 0x502 keysize 55 nfs/nfsd.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x1 (DES-CBC-CRC) keylength 8 (0xb36dd6ef3b518f73) keysize 55 nfs/nfsd.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x3 (DES-CBC-MD5) keylength 8 (0xb36dd6ef3b518f73) keysize 63 nfs/nfsd.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x17 (RC4-HMAC) keylength 16 (0x85a6dea042798a45a547f8450e1115fc) keysize 79 nfs/nfsd.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x12 (AES256-SHA1) keylength 32 (0x760287626e74dea671b3c90cfae8d2b2f5b69f596ff9e f73c8c3da476ee64925) keysize 63 nfs/nfsd.domain.local@DOMAIN.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 3 etype 0x11 (AES128-SHA1) keylength 16 (0x8fa396ecd3d4a69c329437b08da883e9)
Итого, мы получили 2 keytab в каталоге C:tmp для клиента — nfsсkeytab и для сервера — nfsdkeytab:
Примечание. Подразделение (Organization Unit) в котором размещены учетные записи сервера (nfsd) и клиента (nfsc) не должны иметь в своем имени кириллических символов. Иначе при создании keytab будет ошибка Password set failed! 0×00000020. Aborted. (Спасибо за замечание комментатору Михаилу)
Теперь эти ключи Kerberos необходимо БЕЗОПАСНО скопировать на соответствующие машины, например чрез WinSCP и приступить к следующему шагу.
2.5. Настройка клиента Kerberos для аутентификации через keytab
Допустим, мы скопировали наши keytab файлы в папку пользователя root. Теперь рассмотрим настройку keytab на сервере NFS:
root@nfsd:~# ktutil ktutil: rkt /root/nfsdkeytab ktutil: list slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 3 nfs/nfsd.domain.local@DOMAIN.LOCAL 2 3 nfs/nfsd.domain.local@DOMAIN.LOCAL 3 3 nfs/nfsd.domain.local@DOMAIN.LOCAL 4 3 nfs/nfsd.domain.local@DOMAIN.LOCAL 5 3 nfs/nfsd.domain.local@DOMAIN.LOCAL ktutil: wkt /etc/krb5.keytab ktutil: q root@nfsd:~# kinit -k nfs/nfsd.domain.local root@nfsd:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: nfs/nfsd.domain.local@DOMAIN.LOCAL Valid starting Expires Service principal 11/19/11 01:17:30 11/19/11 11:17:31 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL renew until 11/20/11 01:17:30 root@nfsd:~# kdestroy root@nfsd:~# chmod -v u=rw,go-rwx /etc/krb5.keytab права доступа «/etc/krb5.keytab» изменены с 0644 (rw-r--r--) на 0600 (rw-------)
Давайте разберем сделанное: сначала, с помощью утилиты ktutil прочитали исходный скопированный файл, просмотрели его содержимое, чтобы убедится, что это нужный нам файл и записали прочитанное содержимое в файл /etc/krb5.keytab, который читается библиотеками Kerberos, затем вышли из утилиты командой q. Командой kinit с параметром -k и указанным именем службы мы попробовали проверить подлинность без пароля с помощью keytab. Данное действие корректно завершилось, т.к. ошибок выдано не было и klist нам отобразил полученный билет из кэша. Далее мы удалили полученный билет и задали права на доступ к krb5.keytab только пользователю root. Дополнительно могу отметить, что иногда приходится к kinit добавить ключ -t с путем к кейтаб-файлу. Это может понадобиться, если по какой-то причине, kinit не смог найти и обратиться к keytab файлу по умолчательному пути… (спасибо комментатору angel2s2) АХТУНГ!!! Если на данном этапе kinit выдал ошибки, то далее настраивать смысла нет, ибо Kerberos клиент работает не корректно. Необходимо избавиться от ошибок.
Далее, давайте то же самое проделаем с клиентом:
root@nfsc:~# ktutil ktutil: rkt /root/nfsckeytab ktutil: list slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 3 nfs/nfsc.domain.local@DOMAIN.LOCAL 2 3 nfs/nfsc.domain.local@DOMAIN.LOCAL 3 3 nfs/nfsc.domain.local@DOMAIN.LOCAL 4 3 nfs/nfsc.domain.local@DOMAIN.LOCAL 5 3 nfs/nfsc.domain.local@DOMAIN.LOCAL ktutil: wkt /etc/krb5.keytab ktutil: q root@nfsc:~# kinit -k nfs/nfsc.domain.local root@nfsc:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: nfs/nfsc.domain.local@DOMAIN.LOCAL Valid starting Expires Service principal 11/19/11 01:31:28 11/19/11 11:31:29 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL renew until 11/20/11 01:31:28 root@nfsc:~# kdestroy root@nfsc:~# chmod -v -u=rw,go- /etc/krb5.keytab права доступа «/etc/krb5.keytab» изменены с 0600 (rw-------) на 0644 (rw-r--r--)
Все у нас хорошо. Можно пробовать настроить NFS через Kerberos.
3. Настройка NFSv4 на проверку подлинности через Kerberos V (Win 2k8 R2 как KDC)
Настройку начнем с сервера NFS. В конфигурационном файле сервера (/etc/default/nfs-kernel-server) необходимо разрешить запуск демона, отвечающего за взаимодействие с Kerberos (демон rpc.svcgssd), для этого необходимо вставить yes в параметре NEED_SVCGSSD=yes, задать экспортируемому ресурсу соответствующую настройку для авторизации через KDC и перезапустить службу:
root@nfsd:~# cat /etc/exports /nfs gss/krb5(rw,sync,no_subtree_check) root@nfsd:~# service nfs-kernel-server restart Stopping NFS kernel daemon: mountd svcgssd nfsd. Unexporting directories for NFS kernel daemon.... Exporting directories for NFS kernel daemon.... Starting NFS kernel daemon: nfsd svcgssd mountd. root@nfsd:~# showmount -e Export list for nfsd: /nfs gss/krb5
На этом настройка закончена. Давайте для начала размонтируем ранее смонтированную NFS и попробуем смонтировать каталог на той же машине, где установлен сервер:
root@nfsd:~# umount -v /mnt NFSv4 mount point detected 10.0.0.50:/nfs umounted root@nfsd:~# mount -v -t nfs4 -o sec=krb5 nfsd:/nfs /mnt mount.nfs4: timeout set for Sat Nov 19 01:50:11 2011 mount.nfs4: trying text-based options 'sec=krb5,addr=10.0.0.50,clientaddr=10.0.0.50' nfsd:/nfs on /mnt type nfs4 (rw,sec=krb5) root@nfsd:~# mount | grep nfs4 nfsd:/nfs on /mnt type nfs4 (rw,sec=krb5,addr=10.0.0.50,clientaddr=10.0.0.50)
Как видно, все получилось отлично. Давайте то же самое попробуем проделать на клиенте:
root@nfsc:~# mount -v -t nfs4 -o sec=krb5 nfsd:/nfs /mnt mount.nfs4: timeout set for Sat Nov 19 02:24:21 2011 mount.nfs4: trying text-based options 'sec=krb5,addr=10.0.0.50,clientaddr=10.0.0.51' nfsd:/nfs on /mnt type nfs4 (rw,sec=krb5) root@nfsc:~# mount | grep nfs4 nfsd:/nfs on /mnt type nfs4 (rw,sec=krb5,addr=10.0.0.50,clientaddr=10.0.0.51)
Так же — все удачно.
4. Траблешуттинг Kerberos и NFS
Диагностику стоит начать с проверки — запущены ли необходимые процессы:
root@nfsd:~# ps aux | grep rpc root 667 0.0 0.2 2236 940 ? Ss Nov17 0:01 /sbin/rpcbind -w root 690 0.0 0.0 0 0 ? S< Nov17 0:00 [rpciod] statd 1666 0.0 0.3 2548 1248 ? Ss Nov18 0:00 /sbin/rpc.statd root 1679 0.0 0.1 2552 736 ? Ss Nov18 0:00 /usr/sbin/rpc.idmapd root 1684 0.0 0.5 3948 2240 ? Ss Nov18 0:28 /usr/sbin/rpc.gssd root 3859 0.0 0.4 3880 1808 ? Ss 01:44 0:00 /usr/sbin/rpc.svcgssd root 3862 0.0 0.3 3076 1504 ? Ss 01:44 0:00 /usr/sbin/rpc.mountd --manage-gids root 4017 0.0 0.1 3424 768 pts/0 S+ 02:29 0:00 grep rpc
Это вывод с сервера. На клиенте, соответственно, не будет процесса rpc.svcgssd. Далее стоит просмотреть лог /var/log/daemons.log и /var/log/syslog на наличие ошибок.
Для диагностики клиента, необходимо добавить в /etc/defaults/nfs-common строку RPCGSSDOPTS=-vvv и перезапустить nfs-common. Это запустит демон rpc.gssd в очень verbose-режиме )). Для диагностики сервера можно добавить такую же опцию в RPCSVCGSSDOPTS=-vvv и перезапустить nfs-kernel-server. После этого — наблюдать за логом /var/log/daemons.log и /var/log/syslog.
БОлше понимания о шифровании в Kerberos дает команда klist с параметром -e, что заставляет отображать типы шифрования в файле keytab и кэше.
Можно так же «поиграться» с заданием разрешенного типа шифрования Kerberos. Это делается добавлением строк в файл krb5.conf:
[libdefaults] … # явно задает тип шифрования RC4, можно # задать des-cbc-cbr, des-cbc-md5, aes256-cts или aes128-cts default_tkt_enctypes = rc4-hmac default_tgs_enctypes = rc4-hmac permitted_enctypes = rc4-hmac
Если используется Kerberos клиент старше 1.6, то скорее всего DES там как и в Windows 2008 — не поддерживается и для его включения необходимо добавить в раздел [libdefaults] строку allow_weak_crypto = true.
Хочется отметить еще вот такой нюанс: на контроллере домена возможно привязать несколько SPN к однойучетной записи, но это может привести к некоторым проблемам, поэтому я бы не советовал этого делать. Пример такой проблемы хорошо раборали товарсчи с форума ixbt. Кроме того, в сети идет много дебатов о том, привязывать SPN к учетной записи компьютера или к учетной записи пользователя, некоторую полезную информацию об этом можно найти тут.
Многие ресурсы советуют добавить в krb5.conf вот такой раздел:
[logging] FILE=/var/krb5/kdc.log
Что теоретически должно заставить библиотеки клиента kerberos писать о своей работе в лог, но заставить работать этот механизм мне не удалось, поэтому я пропустил данную настройку в статье.
Резюме.
Итак, статью можно считать завершенной. Чтобы до конца разобраться в этом вопросе мне пришлось убить более 2х недель и перечитать кучу материалов. Очень надеюсь, что материал, который я постарался как можно понятней донести до Вас будет Вам полезен. Буду рад комментариям и замечаниям. До новых встреч!
Что почитать еще
http://blog.scottlowe.org/2007/01/15/active-directory-integration-index/ — очень много информации по интеграции UNIX и AD
http://technet.microsoft.com/en-us/library/cc734104(WS.10).aspx — Kerberos Key Distribution Center на Windows 2008
http://social.technet.microsoft.com/wiki/contents/articles/717.aspx — SPN от мелкософт
http://technet.microsoft.com/en-us/library/cc753771(WS.10).aspx — ktpass от Microsoft
http://msdn.microsoft.com/en-us/library/ms995329.aspx — очень интересная статья с теоретической точки зрения о настройке Linux, Kerberos и HTTP
http://technet.microsoft.com/ru-ru/library/dd546914.aspx — управление доступом в гетерогенных сетях
http://www.grolmsnet.de/kerbtut/ — тоже о Linux, Kerberos и HTTP
http://osdude.wordpress.com/2011/08/12/authenticating-unixlinux-to-windows-2008r2-part-3-rhel-5-6/ — неплохая теоретическая информация о шифровании в KDC на Windows 2008
http://osdude.wordpress.com/2011/08/12/authenticating-unixlinux-to-windows-2008r2-part-5-kerberos-encryption-types/ — вторая неплохая теоретическая информация о шифровании в KDC на Windows 2008
http://www.securitylab.ru/analytics/265153.php — работа Kerberos в Linux
http://nfsworld.blogspot.com/2005/06/using-active-directory-as-your-kdc-for.html — NFS и Windows 2003
http://sammoffatt.com.au/jauthtools/Kerberos — хорошая wiki по Kerberos
http://techpubs.spinlocksolutions.com/info/kerberos.html — MIT Kerberos в Debian
C Уважением, Mc.Sim!
Теги: Active Directory, HOWTO, kerberos, Linux, Microsoft Windows, NFS
We are currently working on a feature that will allow potential clients to download a trial of Atomia Cloud Hosting Platform and install it in their OpenStack cloud. This means we have to keep the size of the installation package as well as the footprint in their cloud (in terms of numbers of virtual machines) to a minimum. While a clustered productions environment may contain dozens of VMs we aim for a fully functional test environment with as few VMs as possible (currently 3, but we strive for 2).
Since we offer both Linux and Windows websites we need a storage solution that supports both SMB (Windows) and NFS (Linux). For production environments we recommend Nexenta ZFS, but for testing this is less suitable because it means that we would have to ship another image (and another VM is needed).
This can be avoided by exposing the NFS through Windows Server for NFS Services. While there are hundreds to tutorials regarding creating SMB shares, few are to be find about NFS Services. In Windows 2008 R2 there has been a number of changes and this blog post will guide you from start to finish on how to set it up.
Installing Server for NFS Services
To install Server for NFS Services simply execute this command:
ServerManagerCmd -install File-Services FS-NFS-Services
Setting up the User Mapping
This version of Server for NFS Services lacks the User Mapping server. The mapping is now done by Active Directory itself. But first a short explanation on what user mapping does: If you want to connect to the Windows NFS share from Linux, and you don’t use a common authentication scheme like Kerberos, Linux will identify the user to Windows using their user ID and group ID (which every user and group in Linux has). Run the following command in your Linux terminal to get the IDs:
less /etc/passwd
This is of course insecure because if an attacker controls a Linux machine of his own and connects to your NFS share he can simply pretend to be any user. Unlike among Windows machines it is not required for the Linux and the Windows user to share the same password. It is therefore important to control the access to the share via firewall or IP restrictions.
For the root you can choose for every share if it should be either considered anonymous or if it should be mapped to Administrator automatically. All unmapped users are covered by the entity Anonymous Logon in Windows. So you can save yourself the user mapping if you trust all users of the Linux machine, by granting rights to Anonymous Logon.
Run the following command on your Windows server to enable user mapping:
nfsadmin mapping localhost config adlookup=yes addomain=<yourdomain> sc.exe stop NfsService sc.exe start NfsService
Where the domain is given in its full DNS name.
To set up the mapping, let assume you found the line
ubuntu:x:1000:1000:Ubuntu,,,:/home/ubuntu:/bin/bash
in the passwd file. That means ubuntu is member of Ubuntu group and both have the ID 1000. To replicate that in windows you need to create a user ubuntu and a group we call g-ubuntu, but the name won’t matter.
MSDN has an excelent blog post with scripts on how to set the user and group ID
here.
Unfortunately it does not cover how to set the default group. In Windows a user can be member of several groups, but in Linux it can be only one. To set the default group, you open Active Directory Users and Computers, navigate to the users account, right click, select Properties, select the Member of tab and then select the group and click on Set Primary Group.
The User properties dialog
Creating the share
To create an NFS share simply right-click on folder and select the NFS Sharing tab. You can activate NFS sharing there. The defaults are usually ok.
The NFS sharing dialog in Windows explorer
Then click on the Permissions button. By default all machines have read access. You should limit access to those machines that really need it. If you need that you can allow root access which means that the root user is given Administrative privileges.
The permissions dialog for an NFS share
The NTFS permissions
The trickiest part are the NTFS permissions. Let’s say you want to give the user ubuntu access to a file. In that case you will probably add ubuntu to the users of that file and add permissions. But on the linux side this will change nothing. This is because Linux is only aware of three entities, the owner, the owner’s group and all. So when you give permissions this applies:
Use the Everyone entity in Windows to give permissions to all. To give permissions to a specific user or group you must first change the ownership of the folder to that group and then give explicitly permissions to that user or group.
To give ownership to a certain user/group it is best to use SetACL:
SetACL -on c:Storageb -ot file -actn setowner -ownr "n:ubuntu" -actn setgroup -grp "n:g-ubuntu" -rec cont_obj
To give the user and group explicit read and execute access use:
SetACL -on c:Storage -ot file -actn ace -ace "n:ubuntu;p:read_ex" -ace "n:g-ubuntu;p:read_ex" -actn rstchldrn -rst dacl
On the Linux side
On the Linux side you simply mount the NFS share
mount <IP>:/<name_of_the_share> /<mountpoint>
When the Server for NFS Services role service is installed it automatically opens the right ports in the Windows firewall.
When connecting to NFS shared folder the windows credentials needs to be mapped to a equivalent unix account+ group.
In Windows Server 2008 R2 the support for User Mapping is dropped and the same functionality can only be achived using Identity Management for Unix Components (extension schema for Active Directory).
Below describes on how you can connect to a NFS folder without using User Mapping Server.
A. Install NFS Client
Step 1. Enable File Services Role. Go to Server Management – > Add Roles -> File Services
Step 2. Install Services for Network File System. Go to File Services – > Add Role Services
B. Update NFS Client Registry
In this step, we are going to map the anonymous user credential to the unix account credential that you’ll be using to connect to NFS share. First you need to get the User Id and Group Id of the unix account from the unix administrator. It should be of decimal value like: UserId= 6500000 GroupId=4200. Once you have it, we can proceed.
1. Open Regedit.
2. Go to HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault.
3. Create 2 DWORD value, one for AnonymousUid with decimal value=<User Id> and another for AnonymousGid with decimal value=<GroupId>.
It should look like this:
4. Restart the NFS Client. Go to Administrative Tools -> Services for Network File System (NFS) ->
C. Test NFS Connection
1. Open command prompt.
2. Type: mount -u:<UserName and not UserId> -p:<Password> <SharedNFSFolder> <drive letter to mount, Ex: J:>
3. dir <drive letter:>
Copy file to this NFS folder. This is only way to confirm that the registry hacking is successfully. Because by default if the anonymous access is turned on in NFS side, you can see the files without having to supply user/password.
Note: Limitation is that, you can only connect to a single NFS share because it would use the same UserId and Group Id everytime you connect.
I’ve had a requirement recently to create a small XenServer 6.2 test/demo environment. I decided to use a Windows 2008 R2 host as an NFS server to provide shared storage to the XenServer hosts as it is quick and easy to set up.
First of all you have to install NFS services. This is done by running the following command:
ServerManagerCmd -install File-Services FS-NFS-Services
Once the installation is complete, the next step is to create a share. First of all, create a folder, then right click on it and select the NFS Sharing tab:
Click the Manage NFS Sharing button:
For our purposes, it’s fine to leave the defaults, but we will need to change a setting in the permissions options:
We need to ensure that ‘Allow root access’ is enabled, and that the share is set to Read-Write. By default it will be set as read only. If required, you can set it so that only certain IP address are able to connect to the share, however in this example I will leave it as allow all.
Now the share has been set up it can be added to the XenServer hosts as a Storage Repository. In XenCenter, right click a XenServer host and select ‘New SR’:
Next, choose NFS VHD as the virtual disk storage type:
On the next screen, give the SR a name:
Finally, enter the path to the NFS share created earlier:
After clicking finish the new SR should be available.
If you wanted to use this NFS share with an ESXi environment rather than XenServer, the setup is identical on the NFS server. To connect an ESXi host to it, use the Add Storage wizard in the vSphere client:
- Remove From My Forums
-
Question
-
I have found many guides on doing it in Server 2003 but there doesn’t seem to be much information on 2008. I’m not sure if it’s even possible. Does anyone know about this? Thanks in advance.
Answers
-
Hi Starke77,
I found a useful TechNet document for your reference. You may refer to the «Creating an NFS shared folder» section to create an NFS shared folder on the computer running server for NFS.
Hope it helps.
Your potential. Our passion.
-
Marked as answer by
Friday, July 11, 2008 3:05 AM
-
Marked as answer by