当前位置:首页 > 范文大全 > 公文范文 >

公文范文

解决“RPC服务器不可用”的难题

2021-10-23 10:52:48公文范文
俞木发了解RPC服务RPC是“RemoteProcedureCall”的简称,直译为“远程过程调用”

俞木发

了解RPC服务

RPC是“Remote ProcedureCall”的简称,直译为“远程过程调用”,它是Windows为一个节点请求另一个节点提供的系统服务。比如在局域网中,客户端(以下简称为电脑A)要访问部署在服务端(以下简称为电脑B)的共享打印机。由于打印机没有安装在电脑A上,因此电脑A对打印机的访问就需要通过网络调用,RPC的作用就是用来表达调用的语义和传达调用的数据。如果系统提示RPC服务不可用,那么电脑A就无法成功访问打印机了。RPC的连接流程如图所示(图2),可以看到在整个连接过程中,最容易导致RPC故障的主要就是系统服务、通信协议、防火墙、远程服务端以及电脑A、B本地网络状态这五个环节。

解决RPC不可用的问题

如上所述,我们知道了产生RPC连接问题的五个主要环节。下面我们就主要针对这些环节介绍相应的解决方案。

1系统服务状态检测

Windows中的RPC连接是通过“Remote Procedure Call(RPC)”服务提供的,该服务又和“RPC Endpoint Mapper”、“DCOM Server Process Launcher”等服务相关联。因此,在遇到RPC服务不可用时,我们需要先对电脑A和电脑B中的上述三个服务的状态进行检测。在任务栏的搜索框中输入“services.msc”启动服务组件,找到上述三个服务(需要同时检测电脑A和B),然后将它们的启动状态均设置为“自动”,并启动这些服务(图3)。

2通信协议状态检测

RPC服务使用的网络通信协议主要是本机以太網的“Microsoft网络的文件和打印机共享”和“Internet协议版本6(TCP/IPv6)”。如果服务状态检测没有问题,那么可以在任务栏的搜索框中输入“以太网设置”(需要检测电脑A和B),然后依次执行“更改适配器选项→选中本机网卡→右击选择属性”,在打开的窗口中确保上述两个项目前的复选框均已勾选,最后点击“确定”保存并退出(图4)。

3防火墙状态检测

如图2的流程所示,RPC服务在电脑A发起远程连接,以及电脑B返回连接请求的时候都要通过防火墙。如果电脑的防火墙对一些端口进行了限制,那么也会导致RPC服务不可用。比如常规的RPC服务需要用到TCP/135端口连接,端口连接状态可以使用PowerShell命令进行检测。以管理员身份启动PowerShell后输入并执行“ipconfig”命令,在窗口中记住本机的IP地址,假设电脑A的地址是“192.168.1.5”。继续执行“Test-NetConnection 192.168.1.5-port 135”命令进行检测,这里确保“TcpTestSucceeded”状态显示为“True”(表示可以成功连接135端口)(图5)。

如果上述状态显示为“False”(表示135端口不可用),那么我们就需要对电脑A(主要检测出站规则)和电脑B(主要检查入站规则)的防火墙规则进行检查。以检查电脑B的入站规则为例,在桌面任务栏的搜索框中输入“高级安全”,启动“高级安全Windows Defender防火墙”,在左侧的窗格中切换到“入站规则”,然后在右侧的窗格中检查“操作”状态为“阻止”的规则,打开相应的规则后切换到“协议和端口”,查看是否有阻止TCP/135端口的设置,如有则将该规则删除即可(图6)。电脑A的出站规则的检测类似。

4远程电脑状态检测

如图2的流程所示,电脑A在进行RPC连接时需要得到远程电脑B的响应,如果电脑B的网络出现问题也会导致RPC不可用。电脑A、B之间网络互通可以通过Ping命令来测试,比如已经知道之前连接的电脑B的IP地址是192.168.1.6,在电脑A上启动命令提示符后输入并执行“ping 192.168.1.6”,如果显示“无法访问目标主机”,那么说明电脑A与B的网络打印机之间线路不通(图7)。此时就需要对电脑A、B的网络设置进行检测。比如可以用电脑A、B分别Ping电脑C,以确定电脑A、B和其他局域网电脑的网络是否有问题,然后再进行对应的检测;检查电脑A、B的IP是否处在同一网段,还有子网掩码是否相同,如果不一致,进行对应的设置;检查电脑A、B防火墙的设置,必要时关闭防火墙再连接测试;检查电脑B是否已经开机等。

5电脑本地网络状态检测

如上所述,RPC是为节点之间的网络访问提供服务,如果本地电脑的网络状况出现问题,也会导致RPC服务不可用。如果使用上述介绍的方法进行检测均没有问题,比如电脑A可以Ping通电脑B,但是问题依旧,那么可能是电脑A本地DNS缓存的问题。可以在命令提示符窗口中继续执行“ipconfig/flushdns”命令(清空本地DNS缓存)。如果RPC服务器上运行的电脑B的名称最近做过更改,那么可以在电脑B上执行“ipconfig/registerdns”命令,将其重新注册到活动目录DNS中,这样一般可以解决问题(图8)。

猜你喜欢 端口防火墙打印机 新奇有趣的打印机老年博览·上半月(2021年3期)2021-03-30创意读者·校园版(2020年10期)2020-05-19打印机“故障”修改系统能解决电脑爱好者(2020年1期)2020-04-28利用一台监控终端实现多台设备监控数字技术与应用(2019年3期)2019-06-15浅谈防火墙管理观察(2009年25期)2009-12-03关闭系统端口 拒绝黑客入侵网络与信息(2009年6期)2009-07-31防火墙选购必读网络与信息(2009年6期)2009-07-31新手设置Windows Vista自带防火墙网络与信息(2009年1期)2009-02-23

推荐访问:不可用 难题 服务器