

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
nfsサーバーとは?
nfsサーバーとは、ネットワーク上でファイルを共有する仕組みのことです。NFSはNetwork File Systemの略で、サーバー側にあるディレクトリを、別のPCがまるで自分のローカルディスクのように使えるようにします。これにより、複数の端末で同じファイルを同時に閲覧・編集することが可能になり、オフィスの端末間や自宅の複数PC間でのデータ共有がスムーズになります。
nfsサーバーの基本的な仕組み
NFSサーバーは、共有したいディレクトリとアクセスを許可するホストを設定ファイルで指定します。主に/etc/exportsというファイルが使われ、ここに共有ディレクトリとアクセス条件を記述します。クライアント側はその共有ディレクトリを自分のマシンにマウントして、リモートのファイルをローカルディレクトリのように扱います。実際の動作は、サーバーが受け取ったリクエストを、エクスポートされたディレクトリの実データへと橋渡しする形です。
実際の使い方と設定の流れ
これからは、サーバー側とクライアント側の基本的な手順を中学生にも分かるようにざっくりと説明します。重要なのは、段階を踏んで設定を確認していくことです。
サーバー側の手順
1) NFS用のパッケージをインストールします。Linuxであれば Ubuntu なら apt-get install nfs-kernel-server のように実行します。ここで重要なのは、適切な権限を持つディレクトリを作成することです。
2) 共有ディレクトリを作成します。例として /srv/nfs_share を作成し、所有者と権限を設定します。
3) /etc/exports に、どのディレクトリをどのホストに共有するかを定義します。例: /srv/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)。このファイルを編集した後は exportfs -a で設定を反映します。
4) サービスを起動します。systemctl enable --now nfs-kernel-server のようにして自動起動と起動を設定します。
5) ファイアウォールの設定を行います。NFSはネットワーク上の複数のポートを使うことがあるため、必要な範囲を許可します。例として ufw allow from 192.168.1.0/24 や、必要なポートの開放を行います。
クライアント側の手順
クライアント側では NFSクライアントを用意し、サーバーのディレクトリを自分のマシンへ マウントします。例: mount -t nfs 192.168.1.100:/srv/nfs_share /mnt/nfs。この操作により、クライアントからはあたかも自分のローカルディレクトリのようにリモートのファイルにアクセスできます。
セキュリティと運用のポイント
NFSは同じ信頼できるネットワーク内での利用を前提に設計されています。root squashの設定を有効にして、クライアント側の root ユーザーがサーバー上で root 権限を持たないようにするとセキュリティが向上します。no_subtree_checkを使うと権限管理が楽になることがありますが、セキュリティと整合性のバランスを見極めて設定しましょう。
重要な注意点として、NFSの権限はファイルの実際の所有者とモードに依存します。UIDとGIDのずれがあると、クライアント側でファイルの権限が意図しない動作になる場合があります。必要であれば map_static や idmapd の設定も検討してください。
設定の要点を表で確認
| 設定項目 | 説明 |
|---|---|
| /srv/nfs_share | 共有する実ディレクトリ。クライアントが参照・書込み可能になる場所。 |
| /etc/exports | 共有ディレクトリとアクセス許可を記述する設定ファイル。 |
| exportfs -a | 設定を反映してエクスポートを更新するコマンド。 |
| mount -t nfs | クライアント側で共有をマウントする手順。 |
この記事の要点は、適切なディレクトリの作成、/etc/exports の正しい設定、そしてサーバーとクライアントの適切な起動とマウントを順序立てて行うことです。初心者でも段階を踏んで進めば、同じネットワーク内でファイルを安心して共有できるようになります。
実務で役立つヒント
実務での運用では、まずテスト環境で少数のクライアントから試し、問題がないことを確認してから本番環境へ展開します。マウントポイントには適切な権限を設定し、監視ログを有効にして不正アクセスや権限のずれを早期に検知できる体制を作りましょう。バックアップ計画も併せて検討してください。
nfsサーバーの同意語
- NFSサーバー
- NFSプロトコルを使って、ネットワーク経由でファイルを共有できる機能を提供するサーバーのこと。
- NFSサーバ
- NFSサーバーの略称。NFSプロトコルを用いてファイル共有を提供するサーバー。
- NFSファイルサーバー
- NFSを用いてファイルの読み書きをネットワーク経由で提供するサーバー。
- NFS共有サーバー
- NFSでファイルの共有を行うことを目的としたサーバー。
- NFSホスト
- NFSサービスを提供するホスト機(別名サーバー)。
- ネットワークファイルシステムサーバー
- NFSはNetwork File Systemの略。ネットワーク上でファイルシステムを提供するサーバー。
- ネットワークファイルサーバー
- ネットワーク経由でファイルを提供するサーバーの総称。NFSを指す場合もあります。
- NFSサービス提供サーバー
- NFSサービスを提供するためのサーバー。
- NFSストレージサーバー
- NFSを介してストレージ機能を提供するサーバー。
- NFS対応サーバー
- NFSプロトコルに対応しているサーバー。
- NFS機能サーバー
- NFS機能を搭載・提供するサーバー。
nfsサーバーの対義語・反対語
- NFSクライアント
- NFSサーバーと連携して、共有ファイルをネットワーク経由で取得・操作する側。NFSサーバーの対になる役割。
- ファイルクライアント
- ネットワーク上のファイルを読み書きする端末。NFSクライアントと同義で使われることが多い一般表現。
- ローカルファイルシステム
- 端末内部で管理されるファイル階層。NFSのネットワーク共有とは異なり、ローカル環境で完結します。
- ローカルストレージ
- ネットワーク共有を使わず、直接接続されたディスクなどのストレージ。NFSサーバーの提供する共有とは対照的。
- ネットワーク非依存の端末
- ネットワーク経由のファイル共有を前提としない端末。NFSサーバーが提供する機能を使わない側のイメージ。
- オフラインアクセス対応端末
- ネットワーク接続がなくてもファイルを利用できる端末。常時オンラインのNFSサーバー前提と対比的。
nfsサーバーの共起語
- NFSv3
- NFSの第3版。古いクライアント・環境での互換性は高いが、セキュリティ機能は限定的。
- NFSv4
- NFSの第4版。認証・権限管理が向上し、ファイアウォール越えもしやすい設計。
- /etc/exports
- NFSサーバーでエクスポート対象ディレクトリを定義する設定ファイル。
- exportfs
- エクスポートされたディレクトリの一覧表示・適用を行うコマンド。
- nfs-kernel-server
- Linuxカーネル上でNFSサーバー機能を提供するパッケージ(Debian系の名称)。
- nfs-server
- NFSサーバー機能を提供するパッケージ名(RHEL系などで使用されることがある)。
- nfs-utils
- NFS関連のユーティリティ一式。サーバー/クライアントの補助ツールを含む。
- nfs-common
- クライアント側の共通ライブラリ・ツール(Debian系での名称)。
- rpcbind
- RPCバインディングサービス。NFSv3でポート割り当てに関与する。
- portmap
- 旧式RPCポートマッパ。NFS初期環境で用いられることがある。
- mountd
- NFSマウントリクエストを処理するデーモン。
- nfsd
- NFSサーバーのカーネル側プロセス。実際のファイル共有を提供する核となる実体。
- idmapd
- NFSv4でIDのマッピングを担当。
- statd
- 状態監視デーモン。NFSロックの安定性を確保する。
- lockd
- Network Lock Manager。ファイルロックの配布・管理を行う。
- NLM
- Network Lock Manager。NFSのロック機能を提供。
- gssd
- GSS-APIを使った認証を提供するデーモン。Kerberos連携時に関連。
- Kerberos
- 分散認証基盤。NFSのセキュリティ強化で使われることが多い。
- sec=sys
- NFSのデフォルトセキュリティ。UNIX系のユーザーIDマッピングを利用。
- sec=krb5
- Kerberos認証を利用するセキュリティモード。
- sec=krb5i
- Kerberos認証+改ざん検知機能を提供するモード。
- sec=krb5p
- Kerberos認証+機密性を確保するモード(暗号化)。
- idmap
- IDのマッピング情報。NFSv4の権限処理に関連。
- POSIX ACL
- POSIX ACLによる詳細なアクセス制御をサポートする機能。
- NFS ACL
- NFS用のACL機能。ファイル単位の権限設定を拡張。
- /var/lib/nfs
- NFS関連データを格納するデフォルトディレクトリ。
- showmount
- NFSサーバーのエクスポート情報を表示するコマンド。
- /exports
- エクスポート対象ディレクトリの定義が格納されることがあるパス。
- vers=3
- NFSクライアントがv3を使う際のマウントオプション。
- vers=4
- NFSクライアントがv4を使う際のマウントオプション。
- rsize
- NFSの読み取りサイズを指定する設定値。
- wsize
- NFSの書き込みサイズを指定する設定値。
- timeo
- タイムアウト時間の設定(ミリ秒単位の近似値)。
- retrans
- タイムアウト後の再送回数の設定。
- subtree_check
- エクスポートのサブツリー検査を有効化する設定。パフォーマンスに影響。
- no_subtree_check
- subtree_checkを無効化してパフォーマンスを改善する設定。
- root_squash
- エクスポート先でrootを nobody に変換して権限を制限。
- no_root_squash
- root権限をそのまま許可する設定。
- all_squash
- すべてのUID/GIDを匿名ユーザーへ変換する設定。
- anonuid
- 匿名ユーザーのUIDを設定する項目。
- anongid
- 匿名グループのGIDを設定する項目。
- insecure
- 低番号ポートを使ったアクセスを許可する設定(セキュリティ上の留意点あり)。
- insecure_ports
- NFS接続で不正なポートを許可するオプション。
- TCP
- NFSトランスポートにTCPを使用する設定。
- UDP
- NFSトランスポートにUDPを使用する設定。
- port 2049
- NFSが利用するデフォルトポート番号。
- firewall
- ファイアウォール設定。NFS通信を許可するルールを適用する。
- SELinux
- SELinuxのポリシー設定。NFS動作へ影響する場合がある。
- nfs.conf
- NFSサーバーの新しい設定ファイル。全体設定を管理。
- autofs
- 自動マウント機能。NFSの自動マウント時に使用される。
- NFS over TCP
- NFSをTCPで運用するケース。
- NFS over UDP
- NFSをUDPで運用するケース(旧式・一部環境で使用)。
- pseudo filesystem
- NFSv4の特徴。サーバー側に仮想的なルートを提供する仕組み。
- showmount -e
- サーバーのエクスポートを一覧表示するコマンドオプション。
nfsサーバーの関連用語
- NFSサーバー
- NFSのファイル共有を提供する側のサーバー。ネットワーク経由でクライアントにディレクトリをマウント可能にする。
- NFS
- Network File System。ネットワーク上でファイル共有を実現するプロトコル。
- NFSクライアント
- NFSサーバーへ接続してファイルを利用する側の端末やソフトウェア。
- NFSバージョン
- NFSのバージョン群の総称。主に NFSv3 と NFSv4 が使われる。
- NFSv3
- 第三版。ステートレス設計でパフォーマンス向上を図れるが、セキュリティは限定的。root_squash などの権限制御を提供。
- NFSv4
- 第四版。状態保持方式を採用しファイルロックや統一認証を改善。pseudoファイルシステムを採用し単一のエクスポート空間を提供。
- pNFS
- Parallel NFS。データを分散ストレージで並列アクセス可能にする拡張。
- NFSv4.1
- NFSv4の拡張版。セッション管理と pNFS への対応を強化。
- NFSv4.2
- NFSv4の追加機能を含む拡張版。ファイルのコピーやクローン機能などを提供。
- RPC/portmap/rpcbind
- NFSはRPCベースの通信を使う。portmap(RPCポート管理)や rpcbind がポート割り当てを行う。
- /etc/exports
- NFSサーバーで共有するディレクトリを定義する設定ファイル。エクスポート情報を管理。
- exportfs
- エクスポート設定を適用・表示するコマンド。
- showmount
- NFSサーバーがエクスポートしているディレクトリの一覧を表示するコマンド。
- mount
- NFSクライアントがサーバー上の共有ディレクトリを自分のファイルシステムとして取り込む操作。
- sec=sys
- AUTH_SYS。クライアントのUID/GIDをそのままサーバーへ伝える伝統的な認証方式。
- sec=krb5
- Kerberos 認証。強力な認証機構を使って安全にアクセスを制御。
- sec=krb5i
- Kerberos 認証+改ざん検証(整合性保護)を提供。
- sec=krb5p
- Kerberos 認証+暗号化を提供、機密性を確保。
- sec=none
- 認証なし。セキュリティが弱い状態での運用を示す。
- idmapd
- NFSv4 で UID/GID のマッピングを行うデーモン。
- nfsidmap
- NFSv4 の UID/GID マッピング機能を実現するプログラム。
- ACL
- POSIX ACL。ファイルの細かなアクセス権を設定できる拡張機能。
- POSIX ACL
- ファイルごとの権限を拡張するアクセス制御リスト。
- NLM/lockd
- ファイルロックを管理するデーモン群。NFS で排他制御を実現。
- nfs-kernel-server
- LinuxディストリビューションでNFSサーバー機能を提供するパッケージ。
- nfs-utils
- NFS関連ユーティリティ群。エクスポート管理や診断に使う。
- nfsd
- NFSサーバーのカーネル側デーモン。
- firewall ports
- NFSは通常2049/TCP・UDPを使い、RPC用に111・動的ポートを使うことがある。
- hard/soft
- マウントの動作モード。hardはサーバー応答待ちを継続、softはタイムアウトでエラー返却。
- intr
- マウントの割り込みを許可するオプション。
- root_squash
- NFSでサーバー上の root を nobody にマッピングして権限を保護する設定。
- no_root_squash
- root の権限をそのまま伝える設定。セキュリティリスクがある場合がある。
- rsize/wsize
- NFS の I/O ブロックサイズを制御。パフォーマンスに影響。
- stale file handle
- 共有ファイルを指すハンドルが無効になった状態のエラー。
- SELinux/NFS
- SELinux のポリシーが NFS の動作に影響する。適切なコンテキスト設定が必要。
nfsサーバーのおすすめ参考サイト
- NFSとは?効率的なネットワークファイル共有について解説
- NFSとは? わかりやすく10分で解説 - ネットアテスト
- SMB)とは?ネットワークファイルシステムの違い - アールワークス
- 6.4 NFSとは
- Microsoft の DFS とは |ピュア・ストレージ - Pure Storage
- NFSとは - IT用語辞典 e-Words
- SMB)とは?ネットワークファイルシステムの違い - アールワークス
- NFS データストアとは |ピュア・ストレージ - Pure Storage



















