Nfs server setup in linux

Create an NFS server on Oracle Linux

The following tutorial provides step-by-step procedures to install and configure an NFS Server and mount the NFS shares. This tutorial is targeted at users of Oracle Linux 8 or later.

Objectives

What Do You Need?

Install the NFS Utilities Package on the Server Instance

Note: When using the free lab environment, see Oracle Linux Lab Basics for connection and other usage instructions.

  1. Open a terminal and connect to your server instance.
  2. Install the NFS utilities package.
sudo dnf install -y nfs-utils 

dnf package installed

This command will install the daemon and tools associated with the kernel NFS server.

  • Dnf will display the nfs-utils package and all dependencies and complete the installation.
  • If the package is already installed, then the following message will appear.
  • Create an NFS Share

    sudo fallocate -l 10MB /nfs-share/file1 sudo fallocate -l 10MB /nfs-share/file2 echo "This is a shared text file." | sudo tee /nfs-share/shared-text.txt > /dev/null 

    share file listing

    Change permissions on the files.

    sudo chmod -R 777 /nfs-share 
    echo "/nfs-share (rw)" | sudo tee -a /etc/exports > /dev/null 

    Start the NFS Server

    sudo firewall-cmd --permanent --zone=public --add-service=nfs sudo firewall-cmd --reload sudo firewall-cmd --list-all 
    • —permanent ensures the setting persists a system reboot.
    • —list-all will display the firewall settings and show that NFS traffic is allowed.

    firewall rules

    sudo systemctl enable --now nfs-server showmount -e 

    The showmount command displays the shares available using the NFS server. start servicenfs mounts

    Читайте также:  Linux управление виртуальными машинами

    Add Another Share

    sudo exportfs -i -o rw *:/nfs-share2 showmount -e 
    • -i causes the new share to ignore any values set in /etc/exports
    • -o passes the share options
    • * makes the share available to all clients

    nfs mounts

    sudo systemctl restart nfs-server showmount -e 

    nfs mounts

    Add the new share to /etc/exports to persist system restarts.

    echo "/nfs-share2 *(rw)" | sudo tee -a /etc/exports > /dev/null sudo exportfs -r showmount -e 
    • -r in exportfs refreshes the export list with any changes made to /etc/exports .

    nfs mounts

    Install the NFS Utilities Package on the Client Instance

    1. Open a terminal and connect to your client instance.
    2. Install the NFS utilities package.
    sudo dnf install -y nfs-utils 

    dnf package installed

    This command will install the daemon and tools associated with the kernel NFS server.

  • Dnf will display the nfs-utils package and all dependencies and complete the installation.
  • If the package is already installed, then the following message will appear.
  • Mount the NFS Share

    1. Create a directory for the mount point. shell (client) sudo mkdir /nfs-mount
    2. Mount the share and get a directory listing.
    sudo mount :/nfs-share /nfs-mount ls -lh /nfs-mount 

    Where is the IP address of the server instance used earlier in this tutorial. share file listing

  • Test access to the NFS share. shell (client) echo «Hello World!» >> /nfs-mount/shared-text.txt cat /nfs-share/shared-text.txt show file change
  • Root Squashing

    Enabled by default in Oracle Linux 8, “root squashing” is a share-level configuration option that prevents a remote root user from having root access to the network file system. It is recommended to leave “root squashing” enabled for proper security, but the following steps will show available access when disabled.

      Try changing permissions on a file in the NFS share from the client instance.

    sudo chmod 766 /nfs-mount/shared-text.txt 

    sudo chmod fail

    The output shows permission denied even though the command uses sudo .
    Disable root_squash on the share using the server instance.

    echo "/nfs-share (rw,no_root_squash)" | sudo tee /etc/exports > /dev/null 
    sudo systemctl restart nfs-server 
    sudo chmod 766 /nfs-mount/shared-text.txt ls -lh /nfs-mount 

    sudo chmod success

    The output shows the execute permissions removed from the group and other columns.

    Читайте также:  Installer kali linux virtualbox

    Mount Share Using fstab

    To have the mounted share available after a reboot of the client instance, add an entry to the fstab file.

    sudo umount /nfs-mount ls -lh /nfs-mount 

    unmount

    The ls -lh shows the directory is empty and therefore not mounted.
    Update the fstab file.

    echo ":/nfs-share /nfs-mount nfs rw 0 0" | sudo tee -a /etc/fstab > /dev/null tail -n5 /etc/fstab 

    show fstab

    Replace with the IP address of the server instance. tail -n5 displays the last 5 lines in the /etc/fstab file.
    Mount and verify the share is accessible.

    sudo mount -a ls -lh /nfs-mount 

    share file listing

    More Learning Resources

    Explore other labs on docs.oracle.com/learn or access more free learning content on the Oracle Learning YouTube channel. Additionally, visit education.oracle.com/learning-explorer to become an Oracle Learning Explorer.

    For product documentation, visit Oracle Help Center.

    Create an NFS server on Oracle Linux

    Copyright © 2021, Oracle and/or its affiliates.

    Источник

    Настройка сервера NFS на Linux Ubuntu

    Обновлено и опубликовано

    Опубликовано: 28.08.2022

    Используемые термины: NFS, Ubuntu. В инструкции мы кратко пробежим по процессу установки и настройки сервера NFS на Ubuntu Server. Также мы рассмотрим пример подключения клиентом к шаре сервера.

    Настройка сервера

    • rw / ro — разрешить чтение и запись или только чтение.
    • sync / async — отвечать на запросы только когда данные будут сохранены на диск или не блокировать подключения пока данные записываются на диск.
    • secure / insecure — использовать для соединения только порты ниже 1024 или любые порты.
    • root_squash / no_root_squash — подменять запросы от root на анонимные или не делать этого.
    • subtree_check / no_subtree_check — проверять попытки пользователя выйти за пределы экспортированной папки или отключить данную проверку.
    • nohide — не скрывать поддиректории, если открыт доступ к нескольким каталогам.
    • crossmnt — эта опция аналогична nohide, но позволяет клиентам перемещаться с файловой системы, помеченной crossmnt, на смонтированные на ней экспортированные файловые системы. Таким образом, когда дочерняя файловая система «B» монтируется в родительской «A», установка crossmnt для «A» имеет тот же эффект, что и установка «nohide» для B.
    • all_squash — делать все запросы анонимными.
    • anonuid — указывает uid анонимного пользователя.
    • anongid — указывает gid анонимного пользователя.
    Читайте также:  Be linux my friend

    Создадим каталог на сервере для нашей шары:

    Выполним экспорт данных (перечитаем наш конфигурационный файл /etc/exports, чтобы сервер начал отдавать настроенные шары):

    Сервер готов к работе. Состояние службы можно посмотреть командой:

    systemctl status nfs-server

    Если в нашей системе на сервере используется брандмауэр, нам нужно добавить порты 111 (udp, tcp) и 2049 (udp,tcp):

    iptables -I INPUT -p udp —dport 111 -j ACCEPT

    iptables -I INPUT -p tcp —dport 111 -j ACCEPT

    iptables -I INPUT -p tcp —dport 2049 -j ACCEPT

    iptables -I INPUT -p udp —dport 2049 -j ACCEPT

    Для сохранения правил используем утилиту netfilter-persistent:

    apt install netfilter-persistent

    Настройка клиента

    На стороне клиента может понадобиться поставить или обновить клиента NFS. В зависимости от используемого дистририбутива Linux, действия будут немного отличаться:

    а) для систем на базе Deb (Ubuntu, Debian, Mint):

    б) для систем на базе RPM (Rocky Linux, CentOS):

    Клиент будет установлен или обновлен.

    Теперь можно попробовать примонтировать нашу шару:

    mount -t nfs 192.168.0.15:/data/nfs /mnt

    * в нашем примере мы подключимся к серверу с IP-адресом 192.168.0.15; каталог, который мы монтируем /data/nfs (тот, который настроили в файле exports; монтирование будет выполнено в каталог /mnt.

    Для того, чтобы монтирование осталось после перезагрузки, открываем файл fstab:

    192.168.0.15:/data/nfs /mnt nfs auto 0 0

    * где 192.168.0.15 — адрес сервера NFS; /mnt — каталог, куда будет примонтирована шара.

    Источник

    Оцените статью
    Adblock
    detector