N etwork F ile S システムまたはNFSは、ファイルシステム用のプロトコルです。 NFSプロトコルを使用すると、自分のマシン上のファイルとディレクトリを、ネットワーク全体で他のユーザーのマシンと共有できます。
NFSはクライアントサーバーモデルに基づいて構築されており、NFSサーバーが認証の処理とネットワーク上で共有されるデータの管理を担当します。
この記事では、サーバーとクライアントコンピューターの両方にNFSをインストールして、あるUbuntuマシン間でファイルまたはディレクトリを共有できるようにする方法について説明します。
これが私たちがやろうとしていることの要約です:
- マシンにNFSサーバーをインストールします。これをサーバーマシンと呼びます。
- クライアントと共有するために使用するエクスポートディレクトリを作成します。
- NFSクライアントを2台目のマシンにインストールします。これを、クライアントマシンと呼びます。
- 簡単なテストを行って、すべてが正常に実行されていることを確認します。
これらの手順を順番に実行することを強くお勧めします。これにより、すべてがスムーズに実行されます。
NFSサーバーのインストール
手順1.NFSサーバーのインストールを開始する前に、次のコマンドを使用して、システムが最新であることを確認する必要があります。
sudo apt-get update sudo apt-get upgrade
ステップ2.次のコマンドを使用して、NFSカーネルサーバーパッケージがUbuntuにインストールされているかどうかを確認します。
dpkg -l | grep nfs-kernel-server

上のスクリーンショットでわかるように、出力がない場合は、NFSカーネルサーバーパッケージがマシンにインストールされていません。
ステップ3.次のコマンドを使用して、利用可能な最新のNFSカーネルサーバーパッケージをインストールしましょう。
sudo apt install nfs-kernel-server

エクスポートディレクトリを作成する
このエクスポートディレクトリは、ネットワークを介してクライアントのマシンと共有されます。
手順1.ネットワーク経由で共有されるNFSサーバーにエクスポートディレクトリを作成します。
sudo mkdir -p /mnt/nfsdir
手順2.以前のエクスポートディレクトリへのすべてのクライアントへのアクセスを許可するには、ディレクトリに対する現在の制限付き権限を削除します。
sudo chown nobody:nogroup /mnt/nfsdir
手順3.エクスポートディレクトリに新しい権限を割り当てます。
sudo chown nobody:nogroup /mnt/nfsdir
前のコマンドの出力は次のようになります。

ステップ4.お気に入りのエディターを使用して、エクスポート構成ファイルを編集し、クライアントがNFSサーバーのエクスポートディレクトリにアクセスできるようにします。
sudo vi /etc/exports
次に、次のオプションのいずれかを選択して、サーバーのエクスポートディレクトリへのアクセスを許可します。
- クライアントのマシンIPを指定して、単一のクライアントへのアクセスを許可します。
/mnt/nfsdir client_IP(rw,sync,no_subtree_check)
(rw、sync、no_subtree_check)権限は、次のように定義されています。
-
- rw –>クライアントは読み取りおよび書き込み操作を実行できます。
- sync –>クライアントはディスクへの変更の書き込みを実行できます。
- no_subtree_check –>クライアントにはサブツリーをチェックする権限がありません。
- クライアントのマシンのIPを指定して、複数のクライアントへのアクセスを許可します。
/mnt/nfsdir client_IP_1(rw,sync,no_subtree_check) /mnt/nfsdir client_IP_2(rw,sync,no_subtree_check) /mnt/nfsdir client_IP_3(rw,sync,no_subtree_check)
- サブネット全体を指定して、複数のクライアントへのアクセスを許可します。
/mnt/nfsdir subnetIP/24(rw,sync,no_subtree_check)
このチュートリアルでは、最後のオプションを使用して、サブネット全体を指定することで複数のクライアントへのアクセスを許可します。

ステップ5.次に、次のコマンドを使用して以前の変更を適用します。
sudo exportfs -a

手順6.NFSカーネルサーバーサービスを再起動します。
sudo systemctl restart nfs-kernel-server

手順7.クライアントがエクスポートディレクトリのコンテンツにアクセスできるように、NFSサーバーマシンのファイアウォールを構成します。
sudo ufw allow from 192.168.1.0/24 to any port nfs

手順8.システムの起動時にNFSサーバーファイアウォールが自動的に起動するようにします。
sudo ufw enable

手順9.ファイアウォールのステータスを確認して、前の手順で追加されたルールを表示します。
sudo ufw status

2台目のマシンにNFSクライアントをインストールする
次に、クライアントのマシンでいくつかの構成を実行して、クライアントがNFSサーバーのエクスポートディレクトリに簡単にアクセスできるようにする必要があります。ただし、構成を開始する前に、まず、以下のコマンドを使用して、クライアントのマシンが最新であることを確認する必要があります。
sudo apt-get update sudo apt-get upgrade
手順1.次のコマンドを使用してNFSクライアントパッケージをインストールします。
sudo apt-get install nfs-common

手順2.NFSサーバーのエクスポートディレクトリのマウントポイントを作成します。
sudo mkdir -p /mnt/nfsdirclient

ステップ3.次に、共有NFSディレクトリをクライアントにマウントしましょう。
sudo mount 192.168.1.4:/mnt/nfsdir /mnt/nfsdirclient

インストールのテスト
手順1.サーバーマシンで、エクスポートディレクトリにテストファイルを作成します。
touch /mnt/nfsdir/nfstestfile

クライアントマシンから、新しく作成されたファイルを確認します。
ls /mnt/nfsdirclient
出力は次のようになります。

手順2.クライアントマシンで、新しいファイルを作成します。
touch /mnt/nfsdirclient/clienttestflie

サーバーマシンから、以前に作成されたファイルを確認します。
ls /mnt/nfsdir
出力は次のようになります。

これで、NFSサーバーとクライアントをインストールする方法と、構成をテストする方法について説明しました。