NetBSDをNFS Serverにするための設定を書いておく。
NetBSD 5.0(恐らくNetBSD 1.5あたりから)では、他のOSと異なって、portmapはありません。代わりにrpcbind(8)があります。
NFS Clientになるだけならrpcbindを動かす必要は無さそうですが、NFS Serverになるならこれが必要です。
/etc/rc.dで
rpcbind=YES rpcbind_flags="-l"
を設定しましょう。なお、引数の-lはlibwrapを使うと言うことです。
次に、mountdの設定をします。
まず、/etc/rc.dで
mountd=YES mountd_flags=""
を設定します。
次に、exportするFile systemを設定します。その為には、
/etc/exportsを作成する必要があります。
ここでは、/exports/src、/exports/pkgsrcをexportするものとして設定します。
# mkdir /exports # mkdir /exports/src # mkdir /exports/pkgsrc
次に、/etc/exportsを作成します。
# export file systems /exports/src -maproot=nobody:nobody -network 10.0.0.0/24 /exports/pkgsrc -maproot=nobody:nobody -network 10.0.0.0/24 /exports -maproot=nobody:nobody -alldirs 10.0.0.2
これで、/exports/srcと/exports/pkgsrcは10.0.0.0/24のネットワークに対して、/exportsはホスト10.0.0.2から自由にNFSマウントできるようになる。ただし、ファイルのオーナーがrootの物に関しては、NFS Server側ではnobody:nobodyにマップされるので、NFSサーバー側のリスクを減らすことができる。
最後にNFS Serverのご本尊様のnfsdを設定する。
例によって/etc/rc.confに以下を追加
nfs_server=YES nfsd_flags="-6tun 4" lockd=YES lockd_flags="" statd=YES statd_flags=""
この場合、rpc.lockdとrpc.statdを起動する設定にしているが、少なくともNetBSD-NetBSDでのNFSであれば、恐らく不要でしょう。
$ su -l root # /etc/rc.d/rpcbind start # /etc/rc.d/mountd start # /etc/rc.d/nfsd start # /etc/nfslocking start
これで、NFS Serverになったはず!
現在exportしているFile systemを表示
# showmount -e Exports list on localhost: /exports/src 10.0.0.0 /exports/pkgsrc 10.0.0.0 /exports 10.0.0.2