对另一个子网中的计算机执行 ping 操作时出现“目标端口不可达”

对另一个子网中的计算机执行 ping 操作时出现“目标端口不可达”

在我的家庭网络中,我通过路由器 (192.168.1.1) 连接到互联网。我还有另一个路由器 (192.168.1.15、192.168.2.1),这个路由器使用 OpenWRT,配置为无线客户端。我的一台计算机通过以太网电缆连接到该路由器,该路由器通过无线方式连接到我的主路由器。

由于通过 OpenWRT 路由器连接,我的计算机 (192.168.2.4) 位于不同的子网中。我为此在主路由器上设置了静态路由。目标网络设置为 192.168.2.0,子网掩码为 255.255.255.0,网关设置为 192.168.1.15。这台计算机可以毫无问题地访问互联网和网络上的其他计算机。

无论如何,从子网 192.168.1.x 中的计算机,我可以顺利 ping 192.168.1.15 和 192.168.2.1(我的 OpenWRT 路由器的两个 IP 地址)。但是,当我尝试 ping 192.168.2.4 时,我收到以下消息:

PING 192.168.2.4 (192.168.2.4) 56(84) bytes of data.
From 192.168.1.15 icmp_seq=1 Destination Port Unreachable

显然它使用的是我分配的静态路由。问题似乎是 OpenWRT 路由器不知道如何将数据包路由到 192.168.2.4,这很奇怪,因为该 IP 直接连接到该路由器。

我究竟做错了什么?

答案1

晚了 1 年,但你的问题可能是 OpenWRT 防火墙,当源子网和目标子网不一样时,它似乎禁止在 LAN 接口上进行 IP 转发。在此之后重试 ping:/etc/init.d/firewall stop

如果它有效,那么你将享受规则的乐趣!

答案2

通过打开旧的 dos 窗口(搜索“cmd”)并输入以下 3 行单独的行,可以修复类似的错误:

ipconfig/release  
ipconfig/renew
exit

答案3

这可能不是一个解决方案,但是你检查过网关是否配置正确吗?由于网关连接到两个系统,因此 ping 可能工作正常,但是你检查过网关是否从 192.168.1.x 路由到 192.168.2.x 吗?

在网关上使用 Wireshark 检查请求和响应。

答案4

我有一个非常相似的设置(OpenWrt,几个子网)。同样的问题。当我关闭防火墙时,我再也收不到任何消息,并且数据包丢失率为 100%。我似乎能够使用到目前为止我尝试过的所有 TCP 服务(ssh、smb),因此路由显然有效。我还尝试从不经过此路由器的不同子网 ping 目标主机,并且在接收回显回复时没有问题。

相关内容