阿里云跨网段间执行showmount不通的解决办法
背景:
在阿里云上,同地域不同账号下的ecs服务器,需要跨网段进行nfs挂载。目标是使A网段(172163)下可以将storm处理结果存储在B网段(172162)下的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端口即可。
查看防火墙是否允许443端口,如果是阿里云、腾讯云等云服务器,需要登陆服务器提供商控制面板,安全规则里面设置443端口允许才可以的,如果实在无法解决的可以淘宝搜索:Gworg,获取SSL证书安装部署服务。
无法明确给您定位问题,其中描述大部分有遇到过,比如“服务无法访问”、“无法访问期间ssh连接服务器连不上,但是原有的ssh连接不会断开”
我遇到的原因是:服务器资源被耗用极限(我的情况是部署的java服务耗用内存太多,云主机的内存又太小)
验证是否同类
:出现“无法访问期间ssh连接服务器连不上,但是原有的ssh连接不会断开”情况下,用在连接的终端看下服务器资源内存等,
kill掉显示耗用资源(内存)最多的一个程序,然后在继续ssh连接,如果此时能连上一切正常。问题就是这个了。
连接不上第一先排除端口是否通,比如先telnet22端口。
如果不通,建议查看服务器的防火墙是否开启并允许外部连接,如果关闭,直接排查阿里云的安全策略是否允许你的外网连接,常规下是需要允许你的本地公网ip的。
最后,查看你的远程账户是否ok。
0条评论