〜 Linux間でのファイル共有の定番 〜
目次
🧭 概要
NFS(Network File System)は、UNIX/Linux間でファイルシステムをネットワーク越しに共有するためのプロトコルです。NFSサーバーを適切に設定することで、クライアントはまるでローカルのディレクトリであるかのように、サーバー上のディレクトリにアクセスできます。
🔧 NFS の基本構成
| ファイル・ディレクトリ | 説明 |
|---|
/etc/exports | 共有設定ファイル(エクスポートするディレクトリやアクセス制限) |
/etc/fstab | クライアント側での自動マウント設定 |
/proc/mounts | 実際にマウントされているファイルシステムの情報 |
🚀 NFSに関わる主なユーティリティ・デーモン
| コマンド・デーモン | 機能 |
|---|
exportfs | エクスポートの設定・表示・再読み込み |
showmount | NFSサーバーからエクスポートされている情報を表示 |
nfsstat | NFS通信の統計情報を表示 |
rpcinfo | RPCサービスの確認 |
rpc.mountd | クライアントからのマウント要求に対応 |
portmapper(rpcbind) | RPCサービスへのポート案内役 |
📁 /etc/exports の設定方法
NFSで共有するディレクトリとアクセス権を設定するファイルです。
基本構文:
<共有ディレクトリ> <クライアント>(オプション)
例:
/srv/nfs/data 192.168.1.0/24(rw,sync,no_root_squash)
/srv/nfs/public *(ro,sync)
| オプション | 内容 |
|---|
rw / ro | 読み書き可 / 読み取り専用 |
sync | 書き込みはディスクへの同期完了後に返答(安全) |
no_root_squash | クライアントのrootをサーバーでもrootとして扱う(セキュリティ注意) |
all_squash | すべてのユーザーをnfsnobodyにマッピング |
🧪 エクスポートの操作と確認
sudo exportfs -a # /etc/exports に基づき全てを再エクスポート
sudo exportfs -v # 詳細情報を表示
sudo exportfs -u <path> # 指定のエクスポートを解除
クライアントからの確認:
showmount -e <nfsサーバーIP>
🔐 アクセス制限とセキュリティ
- IPアドレス、ホスト名、サブネットで制御可能
- ファイアウォールで以下のポートを開ける必要あり(NFSv3):
| サービス | ポート番号 |
|---|
| nfsd | 2049 (TCP/UDP) |
| rpcbind | 111 (TCP/UDP) |
| mountd | 任意(固定化推奨) |
📌 クライアント側のマウント手順
一時的なマウント(手動):
sudo mount -t nfs <サーバーIP>:/srv/nfs/data /mnt/nfs
永続的なマウント(/etc/fstab):
192.168.1.100:/srv/nfs/data /mnt/nfs nfs defaults 0 0
マウントオプション例:
| オプション | 内容 |
|---|
defaults | 標準のオプションを使用 |
hard / soft | 通信断時の動作(hardは再試行、softは即エラー) |
nolock | ロックを使わない(軽量だがリスクあり) |
🔍 NFSの状態確認とトラブルシューティング
ステータス確認
nfsstat # サーバー・クライアント統計
rpcinfo -p # 利用中のRPCポート一覧
ログ確認
journalctl -u nfs-server
tail -f /var/log/messages
🔒 NFSのセキュリティ対策
| 対策 | 内容 |
|---|
no_root_squash は極力使わない | クライアントのrootをサーバーのrootにしない |
| ファイアウォールとホスト制限 | 接続元制御は必須 |
| NFSv4 + Kerberos認証 | より堅牢な運用を目指す場合に推奨 |
✅ まとめ
| 項目 | 内容 |
|---|
| 設定ファイル | /etc/exports, /etc/fstab |
| コマンド | exportfs, showmount, rpcinfo |
| デーモン | nfsd, rpc.mountd, rpcbind |
| マウント方法 | mount, fstab自動マウント |
| セキュリティ | アクセス制限 + 最小権限 + ログ監視 |
コメント