3.11. ファイアウォールの内側で動作するように NFS サーバーの設定

NFS は rpcbind サービスを必要とします。これは RPC サービスのポートを動的に割り当て、ファイアウォールルールの設定で問題が発生する可能性があります。この手順では、ファイアウォールの内側で機能するように NFS サーバーを設定する方法を説明します。

手順

  1. クライアントがファイアウォールの内側で NFS 共有にアクセスできるようにするには、/etc/nfs.conf ファイルの [mountd] セクションで RPC サービスを実行するポートを設定します。

    [mountd]
    
    port=port-number

    これにより、-p port-number オプションが rpc.mount コマンドラインに追加されます (rpc.mount -p port-number)。

  2. NFSv4.0 コールバックがファイアウォールを通過するように許可するには、/proc/sys/fs/nfs/nfs_callback_tcpport を設定して、サーバーがクライアントのそのポートに接続できるようにします。

    この手順は、NFSv4.1 またはそれ以降には必要ありません。そして mountdstatd、および lockd の他のポート群は、純粋な NFSv4 環境では必要ありません。

  3. RPC サービスの nlockmgr が使用するポートを指定するには、/etc/modprobe.d/lockd.conf ファイルで nlm_tcpport オプションと nlm_udpport オプションのポート番号を設定します。
  4. NFS サーバーを再起動します。

    #  systemctl restart nfs-server

    NFS が起動しない場合は、/var/log/messages を確認してください。一般的に、すでに使用されているポート番号を指定した場合、NFS は起動しません。

  5. 変更が反映されたことを確認します。

    # rpcinfo -p

関連情報