两个 Linux 服务器之间的 RPC 超时

两个 Linux 服务器之间的 RPC 超时

不同路由网络中有 2 台服务器。

我可以通过路由器从一个路由器 ping 和 ssh 到另一个路由器,并且 nmap 实用程序显示打开了 tcp:111 和 udp:111 端口。

两台服务器也显示类似的内容:

root@storage2:/# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  59730  status
    100024    1   tcp  54613  status

问题是当我尝试挂载 NFS 共享或从两端连接 glusterfs 服务器时,出现超时错误。然后我尝试检查 RPC 连接:

root@nas:/home/vjkim# rpcinfo -p 172.18.3.4
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection timed out

我仔细检查了两台服务器的 /etc/hosts.allow 中是否有 ALL: ALL。两台服务器的 nmap 都显示类似以下内容:

Starting Nmap 5.21 ( http://nmap.org ) at 2014-09-18 16:02 ALMT
Nmap scan report for 172.18.3.4
Host is up (0.00032s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE     VERSION
22/tcp  open  ssh         (protocol 2.0)
111/tcp open  rpcbind
| rpcinfo:
| 100000  2,3,4    111/udp  rpcbind
| 100024  1      59730/udp  status
| 100000  2,3,4    111/tcp  rpcbind
|_100024  1      54613/tcp  status
139/tcp open  netbios-ssn Samba smbd 3.X (workgroup: STORAGE2)
445/tcp open  netbios-ssn Samba smbd 3.X (workgroup: STORAGE2)

您能指出问题所在吗?

我真的不知道它还能在哪里。

答案1

不确定你的 Linux 发行版的具体情况。但如果它是基于 Red-Hat Enterprise Linux 的,你可能需要查看其文档

RHEL 6 - NFS 防火墙配置

基本上,您要检查的内容(按顺序)是;

  1. 你有全部必要的服务正在运行?

    • 网络文件系统
    • nfslock
    • 预绑定
    • rpc.nfsd
  2. 您的防火墙(本地运行的防火墙或路由器 ACL)是否允许流量双向(不仅仅是单向的)?

    • RHEL NFS 配置位于/etc/sysconfig/nfs
    • 允许 TCP 和 UDP 端口 111 (rpcbind/sunrpc)
    • 允许 NFS 使用 TCP 和 UDP 端口 2049
    • 允许 TCP 和 UDP MOUNTD_PORT(定义于/etc/sysconfig/nfs
    • 允许 TCP 和 UDP STATD_PORT(定义于/etc/sysconfig/nfs
    • 允许 TCP LOCKD_TCPPORT(定义在/etc/sysconfig/nfs
    • 允许 UDP LOCKD_UDPPORT(定义在/etc/sysconfig/nfs

相关内容