NFSでネットワーク越しにマウント

SuseLinux10.3(chihaya) をサーバにして、 LAN内のSuseLinux10.2(mingosu) からディレクトリをマウントしてみた。

chiyahaのIPは 192.168.1.10 で、 mingosu のIPは 192.168.1.20 とする。

今、 chihaya の /home/test/nfs_test を mingosu の /home/test/nfs_test_mnt にする。システム上でのユーザIDが同一でないとエラーになるということだったのだけど、たまたま同じIDのユーザがいたので、そのユーザで作業を行う。

サーバ側の設定

chihaya 側で、マウントされるディレクトリの設定を行う。

/etc/exportsに以下のように追加。

/home/test/nfs_test 192.168.1.20(rw,no_subtree_check)

これで、192.168.1.20 から /home/test/nfs_test をマウントできるようになる。

しかし、これだけではセキュリティ的に良くないらしいので、 hosts ファイルでアクセス元を制限する。

/etc/hosts.deny で、サービスに対して特定のホストからのアクセス以外を拒否したい。

portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

これで全部ふさいで、次に

/etc/hosts.allow

で許可する。

portmap:192.168.1.20
lockd:192.168.1.20
mountd:192.168.1.20
rquotad:192.168.1.20
statd:192.168.1.20

これで設定は完了。

nfsserver のサーバを立ち上げる。

# /etc/init.d/nfsserver start
Starting kernel based NFS server                                     done

成功したらこんなメッセージになるはず。

# showmount -e localhost

とすると、現在エクスポートされているものが見れる。

/home/test/nfs_test 192.168.1.20

クライアント側の設定

mingosu の設定は、まずマウントポイントの作成。

$ mkidr /home/test/nfs_test_mnt
$ mountpoint -d /home/test/nfs_test_mnt

これでマウントポイントが作られる。

あとは、普通にマウントするだけ。

# mount 192.168.1.10:/home/test/nfs_test /home/test/nfs_test_mng

これでマウントされたはず。以下のようにすれば確認できる。

$ mount
....略
192.168.1.10:/home/test/nfs_test on /hoome/test/nfs_test type nfs(rw,addr=192.168.1.10)

エラーが出た時

サーバ側でうまく設定出来ていない時。

mount: mount to NFS server '192.168.1.10' failed: RPC Error: Program not registered.

サーバがうまく動いてない時、以下のエラーが出ます。きちんと export 出来てるか、確認する。設定が反映されていないかもしれないので、以下のコマンドを実行してきちんと反映させる。

$ /usr/sbin/exportfs -a
$ /etc/init.d/nfsserver restart

portmapが動いていない時

mount.nfs: Input/output error

クライアント側でportmapが動いていなかったらしく出ました。サーバ側も必要…なのかな?

$ /usr/sbin/portmap start

これで、完成。mingosu の /home/test/nfs_test_mnt に chihayaの/home/test/nfs_test がマウントされました。

コメントを残す

メールアドレスが公開されることはありません。