Конфигурация NFS-сервера и клиента

Apr 13 2023
Что такое NFS? NFS (сетевая файловая система) в основном разработана для обмена файлами и папками между Linux/Unix. Это позволяет вам монтировать локальные файловые системы по сети и удаленные хосты для взаимодействия с ними, поскольку они монтируются локально в той же системе.

Что такое НФС?
NFS (сетевая файловая система) в основном разработана для обмена файлами и папками между Linux/Unix. Это позволяет вам монтировать локальные файловые системы по сети и удаленные хосты для взаимодействия с ними, поскольку они монтируются локально в той же системе. С помощью NFS мы можем настроить общий доступ к файлам между системами Unix и Linux и системами Linux и Unix.

Преимущества NFS

  • NFS разрешает локальный доступ к удаленным файлам.
  • Он использует стандартную клиент-серверную архитектуру.
  • При использовании NFS нет необходимости, чтобы обе машины работали на одной и той же ОС.
  • С помощью NFS мы можем настроить решения для централизованного хранения.
  • Пользователи получают свои данные независимо от физического местонахождения.
  • Для новых файлов не требуется ручное обновление.
  • Более новая версия NFS также поддерживает ACL и псевдокорневое монтирование.
  • Может быть защищен с помощью брандмауэров и Kerberos.
  • portmap: сопоставляет вызовы, сделанные с других машин, с правильной службой RPC (не требуется для NFSv4).
  • NFS: преобразует запросы удаленного доступа к файлам в запросы локальной файловой системы.
  • rpc.mountd: эта служба отвечает за монтирование и размонтирование файловых систем.
  • /etc/exports : это основной файл конфигурации NFS, все экспортируемые файлы и каталоги определяются в этом файле на стороне сервера NFS.
  • /etc/fstab: чтобы смонтировать каталог NFS в вашей системе во время перезагрузки, нам нужно сделать запись в /etc/fstab.
  • /etc/sysconfig/nfs: файл конфигурации NFS для управления тем, какой порт прослушивается rpc и другими службами. Установка NFS-сервера и NFS-клиента

Установите сервер ядра NFS в Ubuntu

sudo apt update
sudo apt install nfs-kernel-server

sudo mkdir -p /mnt/nfs_share
sudo chown -R nobody:nogroup /mnt/nfs_share/
sudo chmod 777 /mnt/nfs_share/

sudo vim /etc/exports
/mnt/nfs_share  *(rw,sync,no_subtree_check) # * means it will access from anywhere

  • rw: Эта опция позволяет клиентскому серверу как читать, так и записывать доступ в общий каталог. синхронизация: синхронизация подтверждает запросы к общему каталогу только после фиксации изменений.
  • no_subtree_check: этот параметр запрещает проверку поддерева. Когда общий каталог является подкаталогом более крупной файловой системы, nfs выполняет сканирование каждого каталога над ним, чтобы проверить его разрешения и сведения. Отключение проверки поддерева может повысить надежность NFS, но снизить безопасность.
  • no_root_squash: эта фраза позволяет пользователю root подключиться к указанному каталогу.

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

sudo apt install nfs-common

sudo mkdir -p /mnt/nfs_client

Такую же запись вы можете ввести и в etc/fstab для автоматического монтирования

sudo mount 192.168.100.102:/mnt/nfs_share  /mnt/nfs_client

root@Kubernet-Master:~# showmount -e 192.168.100.102
Export list for 192.168.100.102:
/mnt/nfs_share *

# Portmap ports
iptables -A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT
# NFS daemon ports
iptables -A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -m state --state NEW -p udp --dport 2049 -j ACCEPT
# NFS mountd ports
iptables -A INPUT -m state --state NEW -p udp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 10050 -j ACCEPT
# NFS status ports
iptables -A INPUT -m state --state NEW -p udp --dport 10051 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 10051 -j ACCEPT
# NFS lock manager ports
iptables -A INPUT -m state --state NEW -p udp --dport 10052 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 10052 -j ACCEPT
# NFS rquotad ports
iptables -A INPUT -m state --state NEW -p udp --dport 10053 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 10053 -j ACCEPT

Надеюсь, у вас есть представление о NFS и о том, как настроить сервер NFS и как сопоставить клиент NFS с другими серверами Linux/Unix.

Приятного обучения