編集メニュー > 新規作成 編集 コピー 名前の変更 凍結 アップロード 添付ファイル一覧 バックアップ

NFS

少しはまったのでメモ。

まずNFSで公開するディレクトリの設定。/etc/exportsをこんな風に書く

# added 2012/04/17
/data/d01 192.168.1.0/255.255.255.0(ro)

最後のカッコの前にスペースを入れてはダメ。 そのあと

/etc/init.d/nfs start

 >chkconfig nfs on 。

>exportfs -v
/data/d01     192.168.1.0/255.255.255.0(ro,wdelay,root_squash,no_subtree_check)

で確認できる。 あと/etc/idmapd.confにのDomainを書いておく必要があるかもしれない。 でもこれでクライアントPCからマウントしようとしてもダメ。

>mount -t nfs hostname:/data/d01 temp
mount.nfs: mount to NFS server 'hostname' failed: System Error: No route to host

サーバー側でiptablesをstopするとマウントできるのでこれのせい。(hostnameは読み替えて)

nfsで使用するポートは以下があるらしい

  • 111 portmapper
  • 2049 nfs これは固定。ほかは動的らしいが、/etc/sysconfig/nfsで固定にできる。以下の部分のコメントを外す。
  • RQUOTAD_PORT=875
  • LOCKD_TCPPORT=32803
  • LOCKD_UDPPORT=32769
  • MOUNTD_PORT=892
  • STATD_PORT=662

そののちに/etc/sysconfig/iptablesに以下を追加。 ちなみにiptablesのsport、dportは送り元(source)と送り先(destination)。

  • --dportは、そのホスト(例えばWEBサーバ)に対するポートへの接続の許可。80の場合、これがなければ、外部のクライアントの80番ポートへのパケットがサーバに届きません。 (たとえWEBサーバが起動していても届かない。)
  • 次に、--sportは自分のWEBサーバの動作とは関係なく、そのホスト(自分のサーバの事です)が外部のWEBサーバに接続した時にその外部のWEBサーバから帰ってくるパケットを許可する設定です。つまりこれがなければ自分のサーバ上でWEBブラウジングが出来なくなる。

結局以下を追加しました。

# for NFS added 2012/04/18 -->                                                                                                                                                                
-A INPUT -s 192.168.1.0/24 -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 662 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp --dport 32769 -j ACCEPT
#<--        

こいつらは

-A INPUT -j REJECT --reject-with icmp-host-prohibited

の前に追加しないとだめです。これでマウントできました。あとはクライアント側の設定。 マウントポイントを適当につくってfstabに以下を追加。

servername:/data/d01           /data                   nfs     defaults,ro     0 0

これで

> mount /data

とすればOK。