LoginSignup
1

More than 1 year has passed since last update.

posted at

updated at

Arch Linux で NFSサーバーを構築する

NFS (Network File System) は UNIX 系のシステムで使用されることが多い分散ファイルシステム (ファイルサーバー) です。個人的には Samba の方が扱いやすいように感じていますが、パフォーマンスは NFS の方が若干勝るユースケースが多いようです。

なお、Samba と比べると若干面倒ですが Windows から NFS サーバーにアクセスすることも可能です。ただし、スマホやタブレットからのアクセスはほぼできないと考えてください。そのようなユースケースでは Samba の使用を推奨します。Arch Linux で Samba サーバーを構築する を参照してください。

サーバー

インストール

nfs-utils パッケージをインストールします。

# pacman -Syu nfs-utils

NFS の設定

ディレクトリを公開するための設定を行います。ここでは 192.168.0.0/24 の任意のホストに対して data/share/public を公開します。

/etc/exports
/data/share           192.168.0.0/24(ro,sync,no_subtree_check,fsid=0)
/data/share/public    192.168.0.0/24(rw,sync,no_subtree_check,nohide)

ここではサーバーとクライアントの uid, gid が共通であることを前提にしています。共通にできない場合は all_squash オプションを追加すれば匿名ユーザとしてアクセスできます。

共有ディレクトリの作成

対象のディレクトリを作成し、設定を反映します。

# mkdir -p /data/share/public
# exportfs -arv

ファイアウォールの設定

TCP の 111,2049,20048 番ポートを開放してください。以下に iptables の設定例を示します。

/etc/iptables/iptables.rules
-A INPUT -m state --state NEW -m tcp -p tcp --syn -m multiport --dports 111,2049,20048 -j ACCEPT

NFS サーバーの起動

NFS サーバーを起動します。

# systemctl start nfs-server

また、システムを再起動した後にも自動的に NFS が起動するように設定しておきます。

# systemctl enable nfs-server

クライアント

Mac

以下のうち、いずれか一方の方法を選択してください。

Shell

以下のようにして NFS サーバ上の共有ディレクトリをマウントできます。

# mkdir /Volumes/Share
# mount -t nfs -o nolockd,resvport,hard,bg,intr,rw,tcp,nfc 192.168.0.16:/data/share /Volumes/Share

ただし、これではシステムを再起動するとアンマウントされてしまいます。自動的にマウントされるようにするためには /etc/auto_master の末尾に /- /etc/autofs_nfs を追加し、以下の内容で /etc/autofs_nfs を作成します。

/etc/auto_master
+auto_master        # Use directory service
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/- /etc/autofs_nfs
/etc/autofs_nfs
/System/Volumes/Data/mnt/share -fstype=nfs,nolockd,resvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.0.16/data/share

すぐに反映させるには以下のコマンドを実行してください。

# automount -cv

Finder

「移動」「サーバへ接続 (Command + K) 」をクリックするとダイアログが表示されるので、nfs://192.168.0.16/data/share のようなアドレスを入力してください。

ただし、これではシステムを再起動するとアンマウントされてしまいます。自動的にマウントされるようにするためには「システム環境設定」「ユーザとグループ」「ログイン項目」「+」から上記のマウントポイントを選択してください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1