GNU/Linux >> Linux の 問題 >  >> Debian

Debian10/11にNFSサーバーをセットアップする[NFS共有マウント]

概要

この投稿では、Debian 10でNFSサーバーをセットアップするプロセスを説明します。プロセスは、Debian 11でも同じです。このサイトの前半で、共有ネットワークをマウントするプロセスを示した他の方法についても説明しました。 Linuxでドライブしますが、この方法ではcifs-utilsツール(LINK)を使用しました。このプロセスの背後にある原則は基本的に同じです。別のマシンからネットワーク共有フォルダまたはドライブをマウントし、ローカルネットワーク経由でアクセスします。

NFSサーバーとクライアント

NFSツールは、サーバーアプリケーションとクライアントアプリケーションで構成されています。もちろん、サーバーアプリケーションは、ネットワーク上で共有するフォルダーまたはドライブのマシンにインストールします。サーバー上のネットワーク共有フォルダ/ドライブへのアクセスに使用する他のすべてのマシンにインストールするクライアントアプリケーション。

1つの小さなメモ:

これを機能させるには、サーバーマシンに静的IPアドレスが必要です。

NFSサーバーのセットアップ

NFSサーバーのインストール

サーバーマシンで、次のコマンドを実行してNFSをインストールします。

sudo apt install nfs-kernel-server

次のステップ–NFSサーバーの構成。次のコマンドを実行して、NFSサーバー構成にアクセスします。

sudo nano /etc/exports

構成構文は次のようになっている必要があります(構成行で詳しく説明します)。構文については、以下で詳しく説明します。

/home/sharedfolder     192.168.100.0/24(rw,sync,no_subtree_check)

ファイルを保存して終了します。次に、次のコマンドを実行します:

sudo exportfs -ra

そして、NFSサーバーを再起動します:

sudo systemctl restart nfs-kernel-server.service

これがNFSサーバーの構成部分です。ファイルは次のようになっている必要があります:

共有フォルダに関する注意

また、共有したフォルダについて…フォルダがrootユーザーによって作成された場合、またはsudo権限を持つユーザーとクライアントマシンから作成された場合、rootではないアカウントを使用しています。読み取りと書き込みの問題が発生する可能性があります。クライアントからフォルダにアクセスするとき。

その場合は、次のようにサーバーの共有フォルダのディレクトリ権限と所有権を変更する必要があります。

sudo chown -R nobody:nogroup /home/sharedfolder/
sudo chmod -R 755 /home/sharedfolder/

これは、共有フォルダがアカウントやローカルグループによって所有されておらず、読み取りと書き込みのアクセス許可を持っていることを意味します。

別のこと

サーバーでufwファイアウォールを実行している場合は、クライアントマシンから共有フォルダにアクセスできるように、ファイアウォールルールを追加する必要もあります。 ufwファイアウォールに対して次のコマンドを実行します:

sudo ufw allow from 192.168.100.0 to any port nfs

IPアドレスはIPプールのものである必要があります。

NFSサーバー構成構文

では、NFSサーバーの構成について説明しましょう。したがって、前の段落では、このコマンドを例として使用しました。

/home/sharedfolder     192.168.100.0/24(rw,sync,no_subtree_check)

この構成構文は、192.168.100.0IPプールの下にいるすべてのユーザーがローカルネットワーク全体でNFS共有フォルダーを使用できるようにするシナリオ用です。

この構文について詳しく説明します:

  • / home / sharedfolder –もちろん、これはネットワーク上で共有するフォルダーのディレクトリパスです。これは、システム上の任意のディレクトリにすることもできます(sharedfolderを実際のフォルダ名に置き換えます)
  • 192.168.100.0/24 –クライアント/ネットワークプールのIPアドレスとサブネットマスク。上記で、ローカルネットワーク全体の任意のクライアントがNFS共有フォルダにアクセスできるようにするIPアドレスの1つのケースについて説明しました。この場合、ルーターのIPプールを知る必要があります。これは、特定のクライアントのみがNFSネットワーク共有にアクセスできるように構成することもできます。これを機能させるには、クライアントが自分で割り当てることができる静的IPアドレスも持っている必要があります。この場合、構文は次のようになります。
    • / home / sharedfolder 192.168.100.14(rw、sync、no_subtree_check)
    • また、複数の特定のクライアントがNFS共有にアクセスするためのシナリオが必要な場合は、クライアントごとに個別に複数の行を追加する必要があります…次のようになります。
    • / home / sharedfolder 192.168.100.14(rw、sync、no_subtree_check)
    • / home / sharedfolder 192.168.100.38(rw、sync、no_subtree_check)
  • (rw、sync、no_subtree_check) –この部分では、これらの括弧の間に、クライアントのアクセス許可などの共有プロパティを追加しています…
    • rw -このオプションは、クライアントマシンに共有フォルダへの読み取りアクセスと書き込みアクセスの両方を提供します。
    • 同期 –このオプションは、NFSが応答する前に変更をディスクに書き込むように強制します。これにより、応答がリモートボリュームの実際の状態を反映するため、より安定した一貫性のある環境が実現します。ただし、ファイル操作の速度も低下します。
    • no_subtree_check –このオプションは、サブツリーのチェックを防ぎます。これは、サーバーが、要求ごとに、エクスポートされたツリーでファイルが実際にまだ使用可能かどうかをチェックする必要があるプロセスです。これにより、クライアントがファイルを開いているときにファイルの名前が変更されると、多くの問題が発生する可能性があります。ほとんどの場合、サブツリーチェックを無効にすることをお勧めします。

NFSクライアントのインストールとNFSネットワーク共有のマウント

クライアントマシンで、次のコマンドを実行してNFSクライアントをインストールします。

sudo apt update
sudo apt install nfs-common

次のステップは、クライアントマシンにマウントポイントを作成することです。以下のコマンドを例として使用します。これはどの場所でもかまいません:

sudo mkdir /mnt/nfs-share

これで、NFSネットワーク共有フォルダーをマウントできます:

sudo mount 192.168.100.119:/home/sharedfolder/ /mnt/nfs-share

繰り返しますが、上記のコマンドのIPはサーバーのものである必要があり、このコマンドはクライアントマシンにネットワーク共有をマウントする必要があります。共有フォルダはすぐにファイルマネージャに表示されます…このように(次の例の画像):

端末とのNFSネットワーク共有のテスト

もちろん、ファイルマネージャとデスクトップ環境を使用してネットワーク共有をテストすることもできます。しかし、私は端末を介して共有をテストすることも好きです。ターミナルを使用したメソッドテストは、モニターがなく、リモートサーバーにアクセスするシナリオにも適しています。

sudo touch /mnt/nfs-share/test.txt

このコマンドは、マウントポイントに.txtファイルを作成し、そのファイルはサーバーにすぐに表示されます。次の写真のように:

起動時にネットワーク共有をマウントする

以前に使用したマウントコマンド–基本的に、これは手動マウントであり、永続的ではありません。つまり、クライアントマシンを再起動またはオフにするとすぐに…マウントが失われ、手動で再度マウントする必要があります。

ただし、永続的にマウントする方法があります。それは、起動時にネットワーク共有をマウントする構成を使用することです。したがって、クライアントマシンが起動すると、ネットワーク共有が自動的にマウントされます。

この方法はオプションであり、必要に応じて実行します。

!!!このステップに注意してください!!!

適切に行わないと、次回の再起動時にマシンがロックされる可能性があります。 Fstabファイルは、HDDも含まれているブートプロセス構成ファイルです。したがって、ファイルが適切に構成されていないと、マシンが起動できなくなる可能性があります。

クライアントマシンで、次のコマンドを実行してfstabファイルにアクセスします。

sudo nano /etc/fstab

次に…ファイルの最後に 次のコマンドラインを追加します:

192.168.100.119:/home/sharedfolder   /mnt/nfs-share   nfs   rw,soft,noatime,x-gvfs-show

次のようになります:

ファイルを保存して終了します。そしてそれだけです。コマンドの最初の2つの部分は、サーバーにアクセスし、ネットワーク共有フォルダーをクライアントのマウントポイントにマウントするようにクライアントに指示します。このマウント方法では、マウントのオプションとプロパティをほとんど使用しませんでした。これは、マウントを可能な限り安定させ、読み取りと書き込みの問題を回避するためです。オプションの説明は、ターミナルのNFSのマニュアルページで確認できます。

man nfs

または、NFSのマニュアルページのWebバージョン–manpage1およびmanpage2

概要

これが、Debian10とDebian11でNFSサーバーをセットアップする方法のプロセスでした。ここでは、クライアントとサーバーマシンのインストールプロセスと構成だけでなく、マウントプロセスとNFS共有へのアクセス方法についても説明しました。いくつかの潜在的なリスクもあります。

お時間をいただき、誠にありがとうございます。


Debian
  1. Debian11でRsyslogサーバーをセットアップする方法

  2. Debian 9でのNFSサーバーとクライアントのセットアップ(ストレッチ)

  3. WireguardサーバーをDebian10/11にインストールします

  1. Debian10BusterでSambaサーバーをセットアップする方法

  2. Debian10BusterでNFSサーバーをセットアップする方法

  3. Debian10/11にOpenVPNサーバーをインストールします

  1. Debian9でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Debian 10(Buster)にNFSサーバーをインストールする方法

  3. Debian 11でRsyslogサーバーをセットアップする方法(Bullseye)