Ubuntu 20.04下命令行挂载NFS失败但fstab/关闭iptables可正常挂载的问题求助
大家好,我遇到了一个NFS挂载的奇怪问题,想请各位帮忙分析下:
我使用的是Ubuntu 20.04系统,防火墙采用IPTables。我已经在防火墙中明确配置了NFS相关端口的入站和出站允许规则,同时也允许了相关/已建立的会话通行。
为了固定NFS端口,我在所有服务器的/etc/sysctl.conf中添加了以下配置:
fs.nfs.nlm_udpport=38073 fs.nfs.nlm_tcpport=38747
另外在nfs-kernel-server里将端口设置为33333。
防火墙中已经开放了以下端口的双向(入站+出站)规则:
- 111
- 1110
- 2949
- 33333
- 4045
- 38073
- 38747
但当我通过命令行执行挂载操作时,会出现如下报错:
mount.nfs: timeout set for Fri Sep 15 17:25:35 2023
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.30.150,clientaddr=192.168.10.125'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=192.168.30.150'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.30.150 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: portmap query failed: RPC: Unable to send - Operation not permitted
mount.nfs: Operation not permitted
奇怪的是,如果把挂载配置写入fstab中,系统重启时却能正常完成挂载。
补充编辑
我还发现一个细节:如果清空IPTables的所有规则,命令行挂载虽然仍会出现mount(2): No such file or directory的提示,但最终能成功挂载,日志如下:
mount.nfs: timeout set for Sat Sep 16 12:47:04 2023
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.30.150,clientaddr=192.168.10.125'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=192.168.30.150'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.30.150 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: portmap query retrying: RPC: Timed out
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.30.150 prog 100005 vers 3 prot TCP port 33333
有没有大佬能帮我排查下问题所在?
备注:内容来源于stack exchange,提问作者Jwaltrip4




