【问题标题】:Connecting to remote service to test RPC program连接远程服务以测试 RPC 程序
【发布时间】:2017-02-07 21:37:54
【问题描述】:

我正在使用 Linux Debian 7 发行版。 我编写了一个非常简单的程序来测试 onc-rpc。 当我这样调用时,“远程”调用工作正常:

test_client localhost

但是,当我通过调用远程服务器 IP 来调用它时:

test_client 202.170.91.155

我收到一条错误消息:

202.170.91.155:RPC:端口映射器故障 - RPC:无法接收

我只是在学习,我对 Linux 中的端口映射几乎一无所知。 我试图为该服务调用的 IP 是同一台机器的 IP 地址。我推测 rpcbind 守护进程会在您注册新服务时为服务器进行必要的映射,但我真的不知道。

我应该采取哪些步骤来修复此错误?

【问题讨论】:

  • 感谢编辑。我希望我能对这个问题有所了解,因为我怀疑这与 rpc 无关,而与网络有关。

标签: linux port rcp


【解决方案1】:

归根结底,这个问题与编程无关。

当 rpcbind 守护进程(负责提供有关所请求服务正在侦听的端口的信息)没有向调用机器提供响应时,可能会出现这种错误。

这可能是由于 NAT 或防火墙错误造成的。 因此,与任何有关网络的问题一样,第一次尝试诊断问题可能涉及验证连接是否正常,方法是对涉及的每个接口进行 ping,从最近到最远,确保每次跳转都正常。

例如,在上面描述的问题中:Ping 假定的内部服务器 IP 地址(失败)有助于发现机器使用的 IP 不是预期的 IP(映射到端口 111 接收请求的 IP)。

使用 ifdown/ifup 停止和重新启动 eth0 配置正确更新了 ipv4 信息,有效地使 rpc 服务可以访问。

【讨论】:

    猜你喜欢
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多