Intereting Posts
Почему Firestarter говорит, что мой брандмауэр активен, но статус ufw показывает его как неактивный? Правильно проанализировать аргументы в скрипте, которые ведут себя как оболочка, вызываемая через SSH Поиск строки в файлах рекурсивно в BusyBox 1.0? Как скопировать всю структуру каталогов с определенным ограничением размера файла? Без терминала в режиме резервного копирования Mint Linux Цифровые часы в Lubuntu 16.04 показывают еще час в CET ZT Как заставить мой debian работать как прокси-сервер http / html? Как я могу постоянно закрывать панель действий GNOME Shell? Небезопасное хранилище: Ксениал Бодхи? Можно ли использовать iptables для контроля тайм-аутов TCP / сбросов в масштабах всей системы? как подавить интерпретацию восьмеричного числа bash? (интерпретироваться как десятичное) Почему в окнах я вижу папки и устройство, подключенные к сети, которые в debian я не вижу? Можно ли отключить Watchdog, если он включен? Почему «rm -rf ./» ничего не удаляет? сложно установить libreoffice на kali linux

NFS: делиться со всеми клиентами, кроме одного

Я хочу поделиться папкой со всеми клиентами сети, кроме одного. Это мой текущий файл /etc/exports :

 /opt/resources *(rw,async) 

Что следует добавить для предотвращения использования клиента 192.168.1.24 без необходимости упоминания всех других адресов авторизованных клиентов?

Я не знаю ни одного сервера NFS, который принимает отрицательные шаблоны в файле exports .

Вы можете использовать сетевые маски для покрытия нескольких клиентов одновременно, если вы указываете IP-адреса (вы не можете использовать шаблоны подстановок для IP-адресов). Например, следующая строка соответствует 192.168.1. * Кроме 192.168.1.24. Да, это утомительно.

 /opt/resources 192.168.1.0/28(rw,async) 192.168.1.16/29(rw,async) 192.168.1.25(rw,async) 192.168.1.26/31(rw,async) 192.168.1.28/30(rw,async) 192.168.1.32/27(rw,async) 192.168.1.64/26(rw,async) 192.168.1.128/25(rw,async) 

Вы можете избежать загромождения файла exports и, возможно, дублирования, используя сетевую группу NIS . Однако в файле netgroup вам нужно будет перечислить все хосты во всех списках.

Если вы не можете найти удовлетворительный способ описания списков доступа для каждого экспортированного дерева, вы можете автоматически генерировать файлы hosts или netgroup .

AFAIK, NFS не имеет возможности отклонить указанный клиент (поскольку, если клиент не указан в записи exports , он не может получить доступ к общему ресурсу).

В вашем случае, я думаю, вы можете использовать host.deny чтобы лишить клиента доступа к общей host.deny NFS . Добавьте строку в /etc/host.deny :

 portmap:192.168.1.24 

Это, конечно, не идеальное решение, потому что клиент, который указан в /etc/host.deny не может получить доступ к другим ресурсам на сервере NFS .

Другой способ – использовать ipset с iptables. ipset доступен в большинстве базовых репозиториев linux.

Вы можете сделать ipset IP-адресов, используя, например,

 ipset create serverblacklist hash:net ipset -A serverblacklist 192.168.1.24 

… и добавьте такое правило, чтобы заблокировать IPs-таблицу «serverblacklist» таблицы ipset-

 iptables -A INPUT -p tcp -m set --match-set serverblacklist src -j DROP 

Аналогичным образом, вы также можете сделать белый список IP-адресов, чтобы разрешить, и запись IPtables, чтобы явно разрешить их, в зависимости от того, что наиболее целесообразно.