阿里云跨网段间执行showmount不通的解决办法

背景:

在阿里云上,同地域不同账号下的ecs服务器,需要跨网段进行nfs挂载。目标是使A网段(172.16.3.*)下可以将storm处理结果存储在B网段(172.16.2.*)下的nfs目录下,然后在B网段的web服务可以读取同网段nfs目录中的内容,并加载到页面中。


前提是两个网段已经互配了云企业网,可以互相ping通内网ip。而且在/etc/exports下,也添加了对端网段的访问权限:


但是当执行mount -t nfs挂载跨网段的nfs时,就无法挂载了。挂载同网段的nfs是没有问题的。所以问题的焦点就聚焦在了跨网段上。


在A网段ecs上执行shoumount -e B网段ecsip时,提示如下:



经过查找,有提到portmapper服务的,于是在nfs服务器上查看其运行的端口111,也确实存在。

执行rpcinfo -p查看:

但即使在阿里云安全组中开通了tcp和udp类型的111端口映射后,仍然无法执行showmount命令。


后来继续查找发现在/etc/sysconfig/nfs文件中,默认注释掉了MOUNTD_PORT,于是加上了一个自定义的该端口信息:

MOUNTD_PORT=21503

同时,在B网段的阿里云安全组中添加21503的外网端口映射。


重启nfs:service nfs restart


再次查看,就可以跨网段使用showmount命令了:


经过验证,最终在阿里云端配置的端口映射如下(在提供NFS服务的账号安全组下):



注意:最终开通的是UDP 111端口和TCP 21503端口即可。

你可能感兴趣的:(阿里云跨网段间执行showmount不通的解决办法)