Red Hat Training

A Red Hat training course is available for RHEL 8

5.11. ファイアウォールの背後で動作するように NFS サーバーを設定する手順

NFS には rpcbind サービスが必要です。このサービスは RPC サービスのポートを動的に割り当て、ファイアウォールルールの設定で問題が発生する可能性があります。以下のセクションでは、サポートが必要な場合に、ファイアウォールの内側で機能するように NFS バージョンを設定する方法を説明します。

  • NFSv3

    これには、NFSv3 をサポートするサーバーがすべて含まれます。

    • NFSv3 専用サーバー
    • NFSv3 と NFSv4 の両方に対応するサーバー
  • NFSv4 専用

5.11.1. ファイアウォールの内側で動作するように NFSv3 対応サーバーを設定する手順

次の手順では、NFSv3 に対応するサーバーを設定し、ファイアウォールの内側で実行する方法を説明します。これには、NFSv3 専用サーバー、および NFSv3 と NFSv4 の両方をサポートするサーバーが含まれます。

手順

  1. クライアントがファイアウォールの背後にある NFS 共有にアクセスできるようにするには、NFS サーバーで次のコマンドを実行してファイアウォールを設定します。

    firewall-cmd --permanent --add-service mountd
    firewall-cmd --permanent --add-service rpc-bind
    firewall-cmd --permanent --add-service nfs
  2. /etc/nfs.conf ファイルで、RPC サービス nlockmgr が使用するポートを次のように指定します。

    [lockd]
    
    port=tcp-port-number
    udp-port=udp-port-number

    または、/etc/modprobe.d/lockd.conf ファイルで、nlm_tcpport および nlm_udpport を指定することもできます。

  3. NFS サーバーで以下のコマンドを実行して、ファイアウォールで指定したポートを開きます。

    firewall-cmd --permanent --add-port=<lockd-tcp-port>/tcp
    firewall-cmd --permanent --add-port=<lockd-udp-port>/udp
  4. 以下のように、/etc/nfs.conf ファイルの [statd] セクションを編集して、rpc.statd の静的ポートを追加します。

    [statd]
    
    port=port-number
  5. NFS サーバーで以下のコマンドを実行して、ファイアウォールに追加したポートを開きます。

    firewall-cmd --permanent --add-port=<statd-tcp-port>/tcp
    firewall-cmd --permanent --add-port=<statd-udp-port>/udp
  6. ファイアウォール設定を再読み込みします。

    firewall-cmd --reload
  7. rpc-statd サービスを最初に再起動してから、nfs-server サービスを再起動します。

    # systemctl restart rpc-statd.service
    # systemctl restart nfs-server.service

    または、/etc/modprobe.d/lockd.conf ファイルの lockd ポートを指定した場合は、次のコマンドを実行します。

    1. /proc/sys/fs/nfs/nlm_tcpport/proc/sys/fs/nfs/nlm_udpport の現在の値を更新します。

      # sysctl -w fs.nfs.nlm_tcpport=<tcp-port>
      # sysctl -w fs.nfs.nlm_udpport=<udp-port>
    2. rpc-statd サービスおよび nfs-server サービスを再起動します。

      # systemctl restart rpc-statd.service
      # systemctl restart nfs-server.service