8.8. NFS および rpcbind
注記
次のセクションは、後方互換性のために
rpcbind
サービスを必要とする NFSv3 実装にのみ適用されます。
rpcbind
を必要としない NFSv4 専用サーバーを設定する方法は、「NFSv4 専用サーバーの設定」 を参照してください。
rpcbind[1] ユーティリティーは、RPC サービスを、それらがリッスンするポートにマッピングします。RPC プロセスは、開始時に rpcbind に通知し、そのプロセスがリッスンしているポートと、そのプロセスが提供することが予想される RPC プログラム番号を登録します。クライアントシステムは、特定の RPC プログラム番号でサーバー上の rpcbind に問い合わせます。rpcbind サービスは、クライアントを適切なポート番号にリダイレクトし、要求されたサービスと通信できるようにします。
RPC ベースのサービスは、rpcbind を使用してクライアントの受信要求ですべての接続を行うため、これらのサービスが起動する前に rpcbind が使用可能である必要があります。
rpcbind サービスはアクセス制御に TCP ラッパーを使用し、rpcbind のアクセス制御ルールは すべて の RPC ベースのサービスに影響します。あるいは、NFS RPC デーモンごとにアクセス制御ルールを指定することもできます。rpc.mountd および rpc.statd の man ページには、これらのルールの正確な構文に関する情報が記載されています。
8.8.1. NFS と rpcbindのトラブルシューティング
rpcbind[1] は、通信に使用される RPC サービスとポート番号間の調整を提供するため、トラブルシューティングの際に rpcbind を使用して現在の RPC サービスの状態を表示すると便利です。rpcinfo コマンドは、RPC ベースの各サービスとそのポート番号、RPC プログラム番号、バージョン番号、および IP プロトコルタイプ(TCP または UDP)を表示します。
rpcbind に対して適切な RPC ベースの NFS サービスが有効になっていることを確認するには、次のコマンドを使用します。
# rpcinfo -p
例8.7 rpcinfo -p コマンドの出力
以下に、上記コマンドの出力例を示します。
program vers proto port service 100021 1 udp 32774 nlockmgr 100021 3 udp 32774 nlockmgr 100021 4 udp 32774 nlockmgr 100021 1 tcp 34437 nlockmgr 100021 3 tcp 34437 nlockmgr 100021 4 tcp 34437 nlockmgr 100011 1 udp 819 rquotad 100011 2 udp 819 rquotad 100011 1 tcp 822 rquotad 100011 2 tcp 822 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100005 1 udp 836 mountd 100005 1 tcp 839 mountd 100005 2 udp 836 mountd 100005 2 tcp 839 mountd 100005 3 udp 836 mountd 100005 3 tcp 839 mountd
NFS サービスの 1 つが正しく起動しないと、rpcbind はそのサービスに対するクライアントからの RPC 要求を正しいポートにマップできなくなります。多くの場合、NFS が rpcinfo の出力に存在しない場合は、NFS を再起動すると、サービスが rpcbind に正しく登録され、機能し始めます。
rpcinfo の詳細とオプションの一覧は、man ページの を参照してください。