Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.7.3. ファイアウォール背後での NFS の実行

NFS は RPC サービスのポートを動的に割り当てる rpcbind を必要としますが、ファイアウォールルールの設定で問題が発生する可能性があります。クライアントがファイアウォールの背後にある NFS 共有にアクセスできるようにするには、/etc/sysconfig/nfs 設定ファイルを編集して、必要な RPC サービスを実行するポートを制御します。
すべてのシステムでは、デフォルトで /etc/sysconfig/nfs が存在しない場合があります。存在しない場合は、これを作成し、以下の変数を追加して、port を未使用の ポート番号 で置き換えます(ファイルが存在する場合は、コメント解除して、デフォルトのエントリーを必要に応じて変更します)。
MOUNTD_PORT=port
rpc.mountd (rpc.mountd)が使用する TCP ポートおよび UDP ポートのマウント を制御します。
STATD_PORT=port
rpc.statd が使用する TCP および UDP ポートのステータス(rpc.statd)を制御します。
LOCKD_TCPPORT=port
どの TCP portnlock mgr (lockd)が使用するかを制御します。
LOCKD_UDPPORT=port
どの UDP ポートnlock mgr (lockd)が使用するかを制御します。
NFS が起動しない場合は、/var/log/messages を確認してください。通常、すでに使用中のポート番号を指定すると、NFS が起動しません。/etc/sysconfig/nfs を編集したら、service nfs restart を使用して NFS サービスを再起動しますrpcinfo -p コマンドを実行して変更を確認します。
NFS を許可するようにファイアウォールを設定するには、以下の手順を実行します。

手順9.1 NFS を許可するようにファイアウォールを設定

  1. NFS 用に TCP ポート 2049 および UDP ポート 2049 を許可します。
  2. TCP および UDP ポート 111(rpcbind/sunrpc)を許可します
  3. で指定する TCP ポートおよび UDP ポートを許可します。 MOUNTD_PORT="port"
  4. で指定する TCP ポートおよび UDP ポートを許可します。 STATD_PORT="port"
  5. で指定する TCP ポートを許可します。 LOCKD_TCPPORT="port"
  6. で指定する UDP ポートを許可します。 LOCKD_UDPPORT="port"
注記
NFSv4.0 コールバックがファイアウォールを通過できるようにするには、/proc/sys/fs/nfs/nfs_callback_tcpport を設定して、サーバーがクライアントのそのポートに接続できるようにします。
このプロセスは、NFSv4.1 以降には必要ありません。そして mountdstatd、および lockd のための他のポート群は純粋な NFSv4 環境では必要ありません。

9.7.3.1. NFS エクスポートの検出

NFS サーバーがエクスポートするファイルシステムを検出する方法は2種類あります。
まず、NFSv2 または NFSv3 に対応しているサーバーで、show mount コマンドを使用します。
$ showmount -e myserver
Export list for mysever
/exports/foo
/exports/bar
次に、NFSv4 に対応しているサーバーで、マウント / を確認し、確認します。
# mount myserver:/ /mnt/
#cd /mnt/
exports
# ls exports
foo
bar
NFSv4 と、NFSv2 または NFSv3 のいずれか一方に対応するサーバーでは、両方の方法が機能し、同じ結果が得られます。
注記
Red Hat Enterprise Linux 6 以前には、設定の仕方によって以前の NFS サーバーは別々のパス経由で NFSv4 クライアントにファイルシステムをエクスポートすることがありました。これらのサーバーはデフォルトでは NFSv4 を有効にしないため、通常は問題になるべきではありません。