Ограничение доступа к NFS-ресурсам для определенных IP-адресов или хостов и ограничение доступа для остальных в SUSE

Вопрос или проблема

Я создал общую папку /data01/share на одной из систем Suse Gnu/Linux и также добавил запись для клиентской машины в /etc/exports /data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check). Но при выполнении exportfs -a я получаю следующее:

exportfs: Нет опций для /data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check): рекомендуем (sync) для избежания предупреждения
exportfs: /etc/exports [2]: Ни 'subtree_check', ни 'no_subtree_check' не указаны для экспорта ":/data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check)".
Предполагается поведение по умолчанию ('no_subtree_check').
ПРИМЕЧАНИЕ: это значение по умолчанию изменилось с версии nfs-utils 1.0.x

exportfs: Не удалось получить статус /data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check): Нет такого файла или директории

cat /etc/os-release

NAME="SLES"
VERSION="12-SP3"
VERSION_ID="12.3"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP3"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp3"

systemctl status nfs-server.service

nfs-server.service - NFS-сервер и услуги
   Loaded: загружен (/usr/lib/systemd/system/nfs-server.service; отключен; предустановлено: отключено)
  Drop-In: /usr/lib/systemd/system/nfs-server.service.d
           └─nfsserver.conf
        /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: активен (выход) с ср 2019-07-24 02:32:03 EDT; 2ч 34мин назад
 Main PID: 2562 (code=выход, статус=0/УСПЕШНО)
    Tasks: 0 (лимит: 512)
   CGroup: /system.slice/nfs-server.service

Jul 24 02:32:03 OPT001CORE0002 systemd[1]: Запуск NFS-сервера и услуг...
Jul 24 02:32:03 OPT001CORE0002 systemd[1]: NFS-сервер и услуги запущены.

cat /etc/exports

# См. страницу man exports(5) для описания синтаксиса этого файла.
# Этот файл содержит список всех каталогов, которые будут экспортироваться
# другим компьютерам через NFS (Сетевую файловую систему).
# Этот файл используется rpc.nfsd и rpc.mountd. См. их страницы man для деталей
# о том, как сделать изменения в этом файле актуальными.

/data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check)

ls -la /data01/share

total 0
drwxrwxrwx 4 acmuser acmgrp 36 Jul 24 04:18 .
drwxr-xr-x 6 acmuser acmgrp 65 Jul 24 04:16 ..
drwxrwxrwx 3 acmuser acmgrp 18 Jul 24 04:18 support
drwxrwxrwx 5 acmuser acmgrp 45 Jul 24 04:17 upgrade

Просто добавьте опцию subtree_check в /etc/exports следующим образом:

# cat /etc/exports
/views_raw 10.143.3.44(rw,sync,no_root_squash,subtree_check)

Перезапустите службу NFS

# systemctl restart nfs-server
# exportfs -av

Ответ или решение

Для ограничения доступа к NFS-расшариванию для определённых IP-адресов или хостов на SUSE, необходимо правильно настроить файл /etc/exports и перезапустить службу NFS. Давайте разберёмся с вашей конфигурацией и ошибки, связанные с экспортом.

Шаги для исправления ошибки

  1. Проверьте синтаксис файла /etc/exports:
    Ошибка, которую вы получили, указывает на неправильный формат записи в файле. В вашем случае строка должна выглядеть следующим образом:

    /data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check)

    Обратите внимание, что между путём к директории и IP-адресом не должно быть лишних пробелов.

  2. Добавление опции subtree_check:
    Чтобы избежать предупреждений, рекомендуется включить опцию subtree_check. В вашем случае она уже указана, но в последующих строках рекомендуется удалить лишние пробелы и убедиться, что она правильно прописана.

  3. Перезапустите службу NFS:
    После внесения изменений в файл /etc/exports, вам необходимо перезапустить NFS-службу, чтобы изменения вступили в силу:

    sudo systemctl restart nfs-server
  4. Проверьте статус и экспортированные ресурсы:
    После перезапуска услуги, выполните команду для проверки экспортированных ресурсов:

    sudo exportfs -av

    Эта команда покажет все экспортированные директории и проверит, нет ли ошибок.

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

Чтобы ограничить доступ к NFS-серверу только для определённых IP-адресов, вам нужно указать каждый IP-адрес или диапазон адресов в файле /etc/exports. Пример:

/data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check)

Если вы хотите разрешить доступ для нескольких IP-адресов, запись может выглядеть так:

/data01/share 10.241.200.53(rw,sync,no_root_squash,no_subtree_check) 10.241.200.54(rw,sync,no_root_squash,no_subtree_check)

Или использовать CIDR для диапазона адресов:

/data01/share 10.241.200.0/24(rw,sync,no_root_squash,no_subtree_check)

Проверка прав доступа

Убедитесь, что пользователь, под которым осуществляется подключение к NFS, имеет соответствующие права доступа к каталогу.

Вы можете проверить права, выполнив команду:

ls -la /data01/share

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...