使用不安全的端口挂载nfs

标题说。 mount有时会从不安全的端口进行NFS挂载/卸载请求。 我相信这个问题是由于所有的安全端口在TIME_WAIT被困在非常高的安装活动(amd)之后。 有没有办法改变这种行为? 我不希望从不安全的端口发送请求,无论是否有可用的安全端口。 当它等待一个安全的端口时,我宁愿挂载。 允许来自NFS服务器上不安全端口的请求不是一个选项。

我没有看到任何东西在手册页的mount,nfs或mount.nfs来控制这个。 为了缓解这个问题,我尝试了net.ipv4.tcp_tw_reuse = 1,但似乎没有帮助。

提前致谢。

为什么不使用iptables来阻塞你不想使用的端口(范围)。 确保使其成为拒绝规则,而不是放弃它,在后一种情况下,可能需要更长的时间,因为连接尝试超时。

一个典型的规则可能是这样的:

/sbin/iptables -I OUTPUT -d 0/0 -j REJECT --reject-with icmp-net-prohibited -p tcp --dport XX -o ethX /sbin/iptables -I OUTPUT -d 0/0 -j REJECT --reject-with icmp-net-prohibited -p udp --dport XX -o ethX 

对于端口范围使用:

 --dport XX:YY 

传入:

  /sbin/iptables -I INPUT -s 0/0 -j REJECT --reject-with icmp-net-prohibited -p tcp --dport XX -i ethX /sbin/iptables -I INPUT -s 0/0 -j REJECT --reject-with icmp-net-prohibited -p udp --dport XX -i ethX 

更新:也许添加正确的选项rpc.mountd将为您工作,从手册:

 -p or --port num Force rpc.mountd to bind to the specified port num, instead of using the random port number assigned by the portmapper. 

在Debian中,您可以在/ etc / default / nfs-kernel-server中执行该操作,在此行中添加选项:

 # Options for rpc.mountd. # If you have a port-based firewall, you might want to set up # a fixed port here using the --port option. For more information, # see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS RPCMOUNTDOPTS=--manage-gids