**現象
ec2サーバで
mount -t nfs 外部サーバのip:/export/data /var/www/html/data
mount.nfs: Connection timed out
**詳細
nfsホストサーバの方は、
ec2以外の別のクライアントサーバからは接続できているので、
問題ないと思います。
ホストサーバにec2のipを追加してます。
vi /etc/exports
/export/data ec2のip(rw,root_squash)
exportfs -ra # 設定反映
exportfs -v # 設定確認
/export/data
ec2のip(rw,wdelay,root_squash,no_subtree_check)
ec2サーバには
以下nfsインストールをしました。
yum install nfs-utils
yum install rpcbind
/etc/init.d/rpcbind start
ec2インバウンド
80,22,2049,111,892(セキュリティ的にはまずいけど、確認のためとりあえず全て0.0.0.0/0)
ec2アウトバウンド
80,22,2049,111,892(全て0.0.0.0/0)
とりあえずvpsからの移行で一時的にnfsを使いたいだけで。
今後はawsの最適化を考えてます。
設定が足りないのでしょうか?
ご回答お願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
"Connection timed out" ですので、TCP/IP または UDP/IP のレベルで到達できないのだと思います。
EC2インスタンスから
lang
1rcpinfo -p (NFSサーバー) 2showmount -e (NFSサーバー)
で接続できるように、セキュリティグループの制限を緩めていくといいと思います。
例えば、NFSサーバーのIPアドレスのすべてのポートを許可するなど。
投稿2015/06/25 01:25
総合スコア12202
0
決定的な原因はnfsサーバ側で接続許可するec2のサーバのipを追加してなかったことが原因でした。
もともとiptableには以下のような記述をしていたので、
ここにec2のipを追加しなければなりませんでした。
sudo vi /etc/sysconfig/iptables
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p tcp --dport 2049 -j ACCEPT
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p udp --dport 2049 -j ACCEPT
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p tcp --dport 111 -j ACCEPT
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p udp --dport 111 -j ACCEPT
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p tcp --dport 892 -j ACCEPT
-A INPUT -s (元々繋いでた外部nfsクライアントip) -p udp --dport 892 -j ACCEPT
なのでnfsサーバ側のiptablesについて前回追加した以下部分を削除
-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT
2049,111,892のみ残しec2のipを指定しました。
-A INPUT -s (ec2のip) -p tcp --dport 2049 -j ACCEPT
-A INPUT -s (ec2のip) -p udp --dport 2049 -j ACCEPT
-A INPUT -s (ec2のip) -p tcp --dport 111 -j ACCEPT
-A INPUT -s (ec2のip) -p udp --dport 111 -j ACCEPT
-A INPUT -s (ec2のip) -p tcp --dport 892 -j ACCEPT
-A INPUT -s (ec2のip) -p udp --dport 892 -j ACCEPT
#前回追加したnfs-port固定の以下の部分は設定しなくても接続できたので削除しました。
$ sudo vi /etc/sysconfig/nfs
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
ec2のセキュリティグループも最小限の許可のみとするために
TCPとUDPの全てのportと全ipを許可を外して、
インバウンドは記述なしで、
アウトバウンドにのみTCPの2049,111,892を追加。
許可IPもnfsサーバのipのみとしました。
これでmountできました。
改めてみなさんありがとうございました。
投稿2015/07/01 10:57
総合スコア648
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
ここを見ると、
nfsでは2049、111含み、以下のポートを使うようですので、
全てのポートを指定しなければならないと思います。
portmapper: 111/tcp, 111/udp
nfs: 2049/tcp, 2049/udp
statd: 不定/tcp, 不定/udp
nlockmgr: 不定/tcp, 不定/udp
mountd: 不定/tcp, 不定/udp
不定のものはポートを固定する必要があり、手順も同じページにかかれています。
また、このページでは、showmount -eの結果として、
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
が返っている状況から、iptablesにポートの設定を追加することで解決したという情報があります。
投稿2015/07/01 07:16
編集2015/07/01 07:44総合スコア1546
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/01 06:37
2015/07/01 06:58
2015/07/01 07:28
2015/07/01 07:39
2015/07/01 08:26
2015/07/01 08:35