| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Ubuntu NFS構成

提供: MyMemoWiki
2020年11月23日 (月) 14:14時点におけるPiroto (トーク | 投稿記録)による版 (→‎NFSエクスポートの構成)
ナビゲーションに移動 検索に移動

| Ubuntu |

Ubuntu NFS構成

コンポーネントのインストール

サーバー

コンポーネントのインストール

$ sudo apt update
$ sudo apt install nfs-kernel-server

クライアント

仮想環境 Multipass にクライアント Ubuntu を作成

$ multipass launch --mem 2G --disk 15G --name nfs-client
$ multipass sh nfs-client
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-53-generic x86_64)
ubuntu@nfs-client:~$ 

コンポーネントのインストール

ubuntu@nfs-client:~$ sudo apt update
ubuntu@nfs-client:~$sudo apt install nfs-common

サーバーでのマウントポイントの作成

ディレクトリのエクスポート準備

$ sudo mkdir /var/nfs/general -p
$ ls -al /var/nfs | grep "general"
drwxr-xr-x  2 root root 4096 Nov 23 22:42 general

NFSは、セキュリティ対策として、* client 上の root *操作を `+ nobody:nogroup +`資格情報に変換します。 したがって、これらの資格情報と一致するようにディレクトリの所有権を変更する必要があります。

$ sudo chown nobody:nogroup /var/nfs/general
$ ls -al /var/nfs | grep "general"
drwxr-xr-x  2 nobody nogroup 4096 Nov 23 22:42 general

NFSエクスポートの構成

  • /etc/exportsの編集
  • /etc/exports ファイルは、リモートホストにどのファイルシステムをエクスポートするかを制御し、オプションを指定します。以下の構文ルールに従います。
    • 空白行は無視する。
    • コメント行は、ハッシュ記号 (#) で始める。
    • 長い行はバックスラッシュ (\) を使って折り返す。
    • エクスポートするファイルシステムは、それぞれ 1 行で指定する。
    • 許可するホストの一覧は、エクスポートするファイルシステムの後に空白文字を追加し、その後に追加する。
    • 各ホストのオプションは、ホスト識別子の直後に括弧を追加し、その中に指定する。ホストと最初の括弧の間には空白を入れない。
$ sudo vi /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/var/nfs/general   *(rw)
/home              *(rw)                                             
  • 再起動
$ sudo systemctl restart nfs-kernel-server 
$ sudo systemctl status nfs-kernel-server 
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2020-11-23 23:11:37 JST; 2s ago
    Process: 6405 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
    Process: 6406 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
   Main PID: 6406 (code=exited, status=0/SUCCESS)

11月 23 23:11:36 bombay.local systemd[1]: Starting NFS server and services...
11月 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/var/nfs/general".
11月 23 23:11:36 bombay.local exportfs[6405]:   Assuming default behaviour ('no_subtree_check').
11月 23 23:11:36 bombay.local exportfs[6405]:   NOTE: this default has changed since nfs-utils version 1.0.x
11月 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
11月 23 23:11:36 bombay.local exportfs[6405]:   Assuming default behaviour ('no_subtree_check').
11月 23 23:11:36 bombay.local exportfs[6405]:   NOTE: this default has changed since nfs-utils version 1.0.x
11月 23 23:11:37 bombay.local systemd[1]: Finished NFS server and services.

ファイアウォールの設定

$ sudo ufw allow from  to any port nfs