ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

Linuxでネットワークファイル共有のためにNFSを設定する方法

編集済み 1 1週間前 によって ExtremeHow 編集チーム

ネットワーキングNFSファイルシステムサーバー設定クライアントアクセス設定権限ストレージクロスプラットフォーム協力

Linuxでネットワークファイル共有のためにNFSを設定する方法

翻訳が更新されました 1 1週間前

ネットワークファイルシステム(NFS)は、異なるシステムがネットワーク上でファイルを共有できるようにする人気のあるプロトコルです。NFSを使用すると、ユーザーはリモートシステム上のファイルをローカルマシン上のファイルのようにアクセスできます。これは、共同作業環境や中央集約型ストレージが必要な状況で非常に役立ちます。

NFSの基本を理解する

NFSを使用すると、システムはネットワークを介して他のシステムとディレクトリやファイルを共有できます。ユーザーやプログラムは、NFSを使用してリモートシステム上のファイルにほぼローカルディスクにあるようにアクセスできます。

NFSの主なコンポーネント

NFSを使用する理由

NFSは、Linux環境でのセキュアなファイル共有に非常に有益です。ファイルアクセスを簡素化し、ストレージコストを削減し、コラボレーションを容易にします。

LinuxでNFSを設定する

始める前に

NFSの設定を始める前に、すべてのシステムが同じネットワーク上にあることを確認してください。また、サーバーとクライアントシステムの両方でスーパーユーザー(ルート)権限が必要です。

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

最初のステップは、サーバーにNFSをインストールすることです。このプロセスは、Linuxディストリビューションによって少し異なります。

# Debian/Ubuntuの場合
sudo apt update
sudo apt install nfs-kernel-server
# CentOS/RHELの場合
sudo yum install nfs-utils

これらのコマンドは、サーバーに必要なNFSパッケージをインストールします。

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

次に、ネットワーク上でどのディレクトリを共有するかを決定します。共有のための専用ディレクトリを作成することが一般的です。

# 共有するディレクトリを作成する
sudo mkdir -p /srv/nfs/shared

次に、ディレクトリに適切な権限を設定します:

# 所有権をnobody:nogroupに変更
sudo chown nobody:nogroup /srv/nfs/shared
# 権限を設定
sudo chmod 777 /srv/nfs/shared

ディレクトリを作成し、権限を設定した後は、/etc/exportsファイルを編集して、ディレクトリを定義し、クライアントへのアクセス権を設定する必要があります。

# エクスポートファイルを編集
sudo nano /etc/exports

ファイルに次の行を追加してディレクトリを共有します:

/srv/nfs/shared <client_ip>(rw,sync,no_subtree_check)

<client_ip>をアクセスが必要なクライアントシステムのIPアドレスと置き換えます。複数のクライアントがアクセスを必要とする場合は、スペースで区切ってリストします。

ステップ3: サーバーでNFSサービスを開始する

/etc/exportsファイルを設定した後、NFSサービスを開始します:

# NFSサーバーを開始して有効化する
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server

ステップ4: NFSクライアントパッケージをインストールする

クライアントシステムでは、必要なNFSクライアントパッケージがインストールされていることを確認してください。

# Debian/Ubuntuの場合
sudo apt install nfs-common
# CentOS/RHELの場合
sudo yum install nfs-utils

ステップ5: クライアントに共有ディレクトリをマウントする

これで、クライアントマシンに共有ディレクトリをマウントできます。最初に、NFS共有をマウントするディレクトリを作成します:

# NFS共有のマウントポイントを作成する
sudo mkdir -p /mnt/nfs/shared

次に、次のコマンドでディレクトリをマウントします:

# 共有ディレクトリをマウントする
sudo mount <server_ip>:/srv/nfs/shared /mnt/nfs/shared

<server_ip>をサーバーのIPアドレスと置き換えます。

NFS共有がブート時にマウントされるようにするには、/etc/fstabファイルに追加できます。ファイルを開き、次のような行を追加します:

<server_ip>:/srv/nfs/shared /mnt/nfs/shared nfs defaults 0 0

ステップ6: 共有を確認する

NFS共有が正しくマウントされているかどうかを確認するには、次のコマンドを使用します:

# マウントを確認する
df -h | grep <server_ip>

このコマンドは、the /mnt/nfs/sharedディレクトリ下にマウントされているNFS共有を一覧表示します。

一般的なNFSの問題のトラブルシューティング

ファイアウォールの問題

ネットワークファイアウォールがNFSトラフィックをブロックすることがあります。クライアントとサーバーマシンの両方で、NFSポートであるTCPおよびUDPポート111とTCPおよびUDPポート2049を許可することを確認してください。

# サーバー上でNFSポートを開くには
sudo iptables -A INPUT -p tcp -m multiport --dports 111,2049 -j ACCEPT
sudo iptables -A INPUT -p udp -m multiport --dports 111,2049 -j ACCEPT

権限の問題

共有ディレクトリの権限が正しく構成されていることを確認してください。所有権、グループ、または過度に制限された権限により、権限の問題が発生することがあります。

サービスのステータス

NFSサーバーがシステムctlステータスコマンドを使用して正しく実行されていることを常に確認してください:

# NFSサービスのステータスを確認する
sudo systemctl status nfs-kernel-server

高度な設定

複数のクライアントへのエクスポート

複数のクライアントへのディレクトリをエクスポートすることが可能です。/etc/exportsファイルに複数のクライアントIPをリストすることでこれを行うことができます:

/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(rw,sync,no_subtree_check)

読み取り専用エクスポート

特定のクライアントに対して一部の共有を読み取り専用にすることもできます。これを/etc/exportsファイルに指定できます:

/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(ro,sync,no_subtree_check)

NFSv4の使用

NFSv4は多くの改善をもたらし、より最新のディストリビューションを使用する場合やパフォーマンス向上のために必要となる場合があります。NFSv4の構成は主に同じですが、特にパフォーマンスとセキュリティ向上のための複雑なオプションがあります。

結論

Linux環境でNFSサーバーを設定することは、ネットワーク内でファイル共有を可能にする効果的な方法です。これらのステップに従い、ネットワークレイアウトとファイル共有の要件の両方を考慮することで、堅牢な共有環境を作成できます。エクスポートを常にセキュリティで保護し、ユーザーのニーズに合わせて構成を調整して、最適な効率とパフォーマンスを確保してください。NFSによるネットワークファイル共有でシームレスなコラボレーションをお楽しみください!

記事の内容に誤りがある場合, あなたは


コメント