Настройка и запуск NFS демона

Если вы планируете предоставлять услуги NFS другим хостам, вам необходимо запустить демоны nfsd и mountd на вашем устройстве. Поскольку это rpc-основанные программы, они не управляются через inetd, а стартуют при начальной загрузке и регистрируют себя напрямую с portmapper. Поэтому убедитесь, что они запускаются только после того, как запустился rpc.portmap. Обычно, следует включить следующие строки в вашем rc.inet2 скрипте:

if [ -x /usr/sbin/rpc.mountd ]; then
  /usr/sbin/rpc.mountd; echo -n "mountd"
fi
if [ -x /usr/sbin/rpc.nfsd ]; then
  /usr/sbin/rpc.nfsd; echo -n "nfsd"
fi

Информация о файлах, которыми NFS демон предоставляет своим клиентам, обычно содержит только числовую идентификацию пользователя и группы. Если и клиент, и сервер связывают то же имя пользователя и группы с этой числовой идентичностью, то им, вероятно, придется использовать общее пространство uid/gid. Например, при использовании NIS для распределения информации passwd по всем хостам вашей локальной сети.

В некоторых случаях идентификаторы пользователя и группы могут не совпадать. Чтобы адаптировать uid's и gid's клиента к серверу, вы можете использовать демон ugidd для создания соответствующих отображений. При использовании опции map daemon, вы можете настроить nfsd так, чтобы он отображал пространство uid/gid сервера на пространство uid/gid клиента, используя ugidd на стороне клиента.

ugidd - это rpc-основанный сервер, запускаемый из rc.inet2 аналогично nfsd и mountd.

if [ -x /usr/sbin/rpc.ugidd ]; then
  /usr/sbin/rpc.ugidd; echo -n "ugidd"
fi

Настройка NFS для повышенной безопасности

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

Конфигурация firewalld и iptables

Прежде всего, убедитесь, что ваша система защищена с помощью firewalld или iptables. Откройте только те порты, которые действительно необходимы для работы NFS. Это может включать в себя порты для rpcbind, mountd, nfsd и других служб, связанных с NFS.

Тщательный выбор экспортируемых каталогов

Не экспортируйте критически важные каталоги. Если вы делитесь данными только для чтения, убедитесь, что установлен флаг "ro" в вашем файле /etc/exports.

Ограничение доступа по IP

В файле /etc/exports вы можете указать, какие IP-адреса (или диапазоны адресов) имеют право доступа к экспортируемым ресурсам. Это позволяет ограничить доступ только доверенным машинам.

Использование Kerberos для аутентификации

С помощью Kerberos можно обеспечить как аутентификацию клиентов, так и шифрование передаваемых данных. Хотя настройка может потребовать некоторых усилий, она значительно повышает уровень безопасности вашей системы NFS.

Заключение

Безопасность должна быть важнейшим приоритетом при настройке любой системы, и NFS не исключение. Следуя приведенным выше рекомендациям, вы сможете снизить риски и обеспечить надежную работу вашего NFS-сервера.