ウェブサイト検索

Ubuntu 22.04 に NFS サーバーをインストールして構成する方法


NFS (ネットワーク ファイル共有) は、ネットワーク内の他の Linux クライアントとディレクトリやファイルを共有できるようにするプロトコルです。共有するディレクトリは通常NFS サーバー上に作成され、そこにファイルが追加されます。

クライアント システムはNFS サーバー上にあるディレクトリをマウントし、作成されたファイルへのアクセスを許可します。 NFS は、クライアント システム間で共通データを共有する必要がある場合、特にスペースが不足している場合に役立ちます。

このガイドは 2 つの主要なセクションで構成されています。Ubuntu 22.04、20.04、および 18.04 への NFS サーバーのインストールと構成、およびUbuntu 22.04、20.04、および 18.04 へのNFS クライアントのインストールです。クライアント Linux システム。

Ubuntu での NFS サーバーのインストールと構成

NFS サーバーをインストールして構成するには、以下に概説する手順に従います。

ステップ 1: Ubuntu に NFS カーネル サーバーをインストールする

最初のステップは、nfs-kernel-server パッケージをサーバーにインストールすることです。ただし、これを行う前に、まず次の apt コマンドを使用してシステム パッケージを更新しましょう。

sudo apt update

更新が完了したら、次に示すように nfs-kernel-server パッケージをインストールします。これにより、ファイル共有のセットアップにとって同様に重要なnfs-commonrpcbind などの追加パッケージが保存されます。

sudo apt install nfs-kernel-server

ステップ 2: NFS エクスポート ディレクトリを作成する

2 番目のステップでは、クライアント システム間で共有されるディレクトリを作成します。これはエクスポート ディレクトリとも呼ばれ、後でクライアント システムからアクセスできるファイルをこのディレクトリに作成します。

NFSマウントディレクトリ名を指定して以下のコマンドを実行します。

sudo mkdir -p /mnt/nfs_share

すべてのクライアント マシンが共有ディレクトリにアクセスできるようにするため、ディレクトリのアクセス許可の制限をすべて削除します。

sudo chown -R nobody:nogroup /mnt/nfs_share/

ファイルのアクセス許可を好みに合わせて調整することもできます。ここでは、ディレクトリ内のすべてのコンテンツに対する読み取り、書き込み、および実行の権限を与えています。

sudo chmod 777 /mnt/nfs_share/

ステップ 3: クライアント システムへの NFS 共有アクセスの許可

NFS サーバーにアクセスするための権限は、/etc/exports ファイルで定義されます。したがって、お気に入りのテキスト エディタを使用してファイルを開きます。

sudo vim /etc/exports

単一クライアントまたは複数クライアントへのアクセスを提供したり、サブネット全体を指定したりできます。

このガイドでは、サブネット全体が NFS 共有にアクセスできるようにしました。

/mnt/nfs_share  192.168.43.0/24(rw,sync,no_subtree_check)

上記コマンドで使用するオプションについて説明します。

  • rw: 読み取り/書き込みの略。
  • 同期: 変更を適用する前に、変更をディスクに書き込む必要があります。
  • No_subtree_check: サブツリー チェックを排除します。

単一クライアントにアクセスを許可するには、次の構文を使用します。

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)

複数のクライアントの場合は、個別のファイルで各クライアントを指定します。

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share  client_IP_2 (re,sync,no_subtree_check)

ステップ 4: NFS 共有ディレクトリをエクスポートする

優先クライアント システムへのアクセスを許可した後、NFS 共有ディレクトリをエクスポートし、変更を有効にするために NFS カーネル サーバーを再起動します。

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

ステップ 5: ファイアウォールを介した NFS アクセスを許可する

クライアントが NFS 共有にアクセスするには、ファイアウォールを介したアクセスを許可する必要があります。許可しないと、共有ディレクトリへのアクセスとマウントが不可能になります。これを実現するには、次のコマンドを実行します。

sudo ufw allow from 192.168.43.0/24 to any port nfs

ファイアウォールをリロードするか、ファイアウォールを有効にして (オフになっている場合)、ファイアウォールのステータスを確認します。デフォルトのファイル共有であるポート 2049 を開く必要があります。

sudo ufw enable
sudo ufw status

クライアント システムに NFS クライアントをインストールする

サーバー上での NFS サービスのインストールと構成は完了しました。次に、クライアント システムに NFS をインストールしましょう。

ステップ 1: NFS 共通パッケージをインストールする

通常のことですが、何よりもまずシステム パッケージとリポジトリを更新することから始めます。

sudo apt update

次に、 図に示すようにnfs-common パッケージをインストールします。

sudo apt install nfs-common

ステップ 2: クライアント上に NFS マウント ポイントを作成する

次に、NFS サーバーから nfs 共有をマウントするマウント ポイントを作成する必要があります。これを行うには、次のコマンドを実行します。

sudo mkdir -p /mnt/nfs_clientshare

ステップ 3: クライアント システムに NFS 共有をマウントする

残っている最後の手順は、NFS サーバーによって共有される NFS 共有のマウントです。これにより、クライアント システムが共有ディレクトリにアクセスできるようになります。

ifconfig コマンドを使用して NFS サーバーの IP アドレスを確認してみましょう。

ifconfig

これを実現するには、次のコマンドを実行します。

sudo mount 192.168.43.234:/mnt/nfs_share  /mnt/nfs_clientshare

ステップ 4: クライアント システムでの NFS 共有のテスト

NFS セットアップが機能していることを確認するために、サーバーにある NFS 共有ディレクトリにいくつかのファイルを作成します。

cd /mnt/nfs_share/
touch file1.txt file2.txt file3.txt

次に、NFS クライアント システムに戻り、ファイルが存在するかどうかを確認します。

ls -l /mnt/nfs_clientshare/

素晴らしい!出力により、NFS サーバー上に作成したばかりのファイルにアクセスできることが確認できます。

それで終わりです。このガイドでは、Ubuntu 22.04Ubuntu 20.04、および Ubuntu 18.04 での NFS サーバーのインストールと構成について説明しました。 です。 NFS は現在ではほとんど使用されず、より堅牢で安全な Samba 共有プロトコルが優先されています。