Debian 12 (bookworm) - NFS サーバ構築!
Updated:
Debian GNU/Linux 12 (bookworm) に NFS サーバを構築する方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 12 (bookworms; 64bit) での作業を想定。
- 接続元のマシンも Debian GNU/Linux 12 (bookworm; 64bit) を想定。
- 接続可能なマシンのネットワークは
192.168.11.0/24
を想定。 - ドメイン名は
mk-mode.com
、サーバホスト名はopti
を想定。 - NFS 用ディレクトリを新たに作成する。(”/var” 配下に “/exports” ディレクトリを作成する)
- クライアント側でマウントに使用するディレクトリも “/var/exports” とする。
- サーバ側は root で作業することを想定、クライアント側は一般ユーザで作業することを想定している。
- root ユーザでの作業を想定。
1. NFS サーバのインストール
# apt -y install nfs-kernel-server
2. idmapd 設定の編集
/etc/idmapd.conf
というユーザー名・グループ名と UID/GID のマッピングを保持するデーモンの設定ファイルを以下のように編集する。
File: /etc/idmapd.conf
Domain = mk-mode.com # < = コメント解除&自ドメイン名に変更
3. NFS 用ディレクトリの作成
共有 NFS ディレクトリを以下のようにして作成する。
所有者・所有グループは /etc/idmapd.conf
に記載されている nobody
, nogroup
とする。
# mkdir /var/exports
# chown -R nobody:nogroup /var/exports
4. exports の編集
設定ファイル /etc/exports
を以下のように編集(追記)する。
File: /etc/exports
/var/exports 192.168.11.0/24(rw,sync,fsid=0,no_root_squash,no_subtree_check)
5. ファイアウォール (ufw) の無効化
NFS サーバは都度ポート番号が変更になるため、ファイアウォールで開放するポートを指定できない。
ファイアウォール ufw を「一時的」にオフにする。
(別途、NFS サーバのポートを固定する措置を施せばよい(別記事))
# ufw disable
Firewall stopped and disabled on system startup
6. NFS サーバ再起動
設定を反映させるため、NFS サーバを再起動する。
# systemctl restart nfs-kernel-server
【以下、クライアント側・ローカルユーザでの作業】
7. NFS クライアントのインストール
NFS クライアントを以下のようにしてインストールする。
$ sudo apt install -y nfs-client
- Linux ディストリビューションによっては
apt command [options]
でなくapt [options] command
のことがあるので注意。
8. idmapd 設定の編集
NFS サーバ同様 etc/idmapd.conf
という設定ファイルを、以下のように編集する。
File: /etc/idmapd.conf
Domain = mk-mode.com # <= コメント解除&自ドメイン名に変更
9. NFS クライアントの再起動
設定を反映させるため、NFS クライアントを再起動する。
$ sudo systemctl restart nfs-common
ちなみに、nfs-common は自動起動するようになっているが、普段使用しない場合は、以下のように自動起動しないように設定しておいてもよいだろう。(NFS を使用したい時のみ nfs-common を起動させる)
$ sudo systemctl disable nfs-common
10. マウント用ディレクトリの作成
マウントするディレクトリを作成する。
$ sudo mkdir /var/exports
11. マウント
NFS サーバのディレクトリ使用するために、クライアントマシンでマウントする。
以下では、クライアントマシンの /var/exports
ディレクトリにマウントしている。
$ sudo mount -t nfs vostro.mk-mode.com:/var/exports /var/exports
12. 確認
マウントできているか df
コマンドで確認する。
# df -h
Filesystem Size Used Avail Use% Mounted on
:
====< 途中省略 >====
:
vostro.mk-mode.com:/var/exports 1.7G 431M 1.2G 28% /var/exports
その他、クライアントマシンからファイルを貼り付けてみたり、削除してみたりしてみる。
13. 自動マウントの設定
上記の方法ではクライアントマシンを再起動するたびにマウントしないといけないので、マシン起動時に自動マウントするようにしたければ以下のように fstab を設定する。
File: /etc/fstab
vbox.mk-mode.com:/var/exports /var/exports nfs defaults 0 0
クライアントマシン再起動時にマウントされるかも確認しておく。
14. ファイアウォール (ufw) の有効化
テストのために無効化していたファイアウォールを有効化に戻す。※サーバ側
# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
実際に運用する場会は、 NVF サーバのポートを固定する設定を施す。
ここでは、一旦ファイアウォールを有効化に戻しておく。(この後続けて、次記事(次回投稿予定の記事)の方法で NFS サーバのポート固定の設定を施すのであれば、この限りでない)
以上。
Comments