![启用路由器后面的 PC 以进行 ping 操作](https://linux22.com/image/523669/%E5%90%AF%E7%94%A8%E8%B7%AF%E7%94%B1%E5%99%A8%E5%90%8E%E9%9D%A2%E7%9A%84%20PC%20%E4%BB%A5%E8%BF%9B%E8%A1%8C%20ping%20%E6%93%8D%E4%BD%9C.png)
我有一台运行 Web 服务的 Windows 7 PC,它通过标准路由器访问互联网。我相应地转发了路由器中所需的端口,并能够从外部成功使用该服务。
但是,当我尝试 ping PC 时,请求始终无法成功。据我所知,ping 是使用 ICMP 执行的,ICMP 不使用端口,因此我无法转发端口。有没有办法将 ping 请求转发到 PC 并由 PC 应答?(路由器本身显然不会应答 ping,我也不希望它应答 ping - 我真的希望 PC 能应答 ping。)
此外,PC 确实已经响应了来自本地网络内部的 ping,但是我是否需要设置 Windows 以便它也能响应来自外部的请求?
答案1
您说的“标准路由器”是什么意思?您提到了端口转发,这让我相信您说的是典型的用于宽带使用的消费者路由器。
此类路由器使用 NAT,以便能够使用来自 ISP 的单个地址。您可能无法通过典型的廉价路由器将 ICMP 转发到单个机器。
唯一的例外是您的路由器有“DMZ”选项。此选项通常允许您将单个地址设置为 DMZ 设备。任何未转发到其他任何地方的传入流量都将转发到 DMZ 设备。
答案2
使用 NAT 时,最好的办法是从本地 NAT 网络内的另一个设备或从 NAT 路由器设备执行 ping。由于 NAT 的功能,直接通过 NAT 进行 ICMP 的可能性极小。