ping另一个子网中的计算机时“目标端口无法访问”


4

在我的家庭网络中,我通过路由器(192.168.1.1)连接到Internet。我还有另一个路由器(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。该计算机可以毫无困难地访问网络上的Internet和其他计算机。

无论如何,从子网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直接连接到该路由器。

我究竟做错了什么?


是否在该路由器上启用了IP转发?
David Schwartz

我遇到了同样的问题,两个子网和openwrt。你找到了解决方案吗?
jayatubi

Answers:


7

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

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


我应该创建两个 zone 与不同的 lan 接口然后为它们添加新的转发规则?就像默认一样 lan => wan
jayatubi

我也得到'端口无法访问'。当我停止防火墙时,我得到了“超时”响应。然后我又开始了,它开始工作了。
Sourav Ghosh

0

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

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


我可以从192.168.1.x SSH到192.168.1.15,但不能从192.168.1.x到192.168.2.1。但是在这两种情况下Ping都可以。我重新配置防火墙以允许在所有情况下转发,但从192.168.1.x ping 192.168.2.4仍然不起作用。它不再给我目的端口无法访问错误。我检查了tcpdump并且它正在接收192.168.2.4的ping请求,但无论出于何种原因192.168.2.4没有响应。 192.168.2.4通常会响应ping,因为我可以从192.168.2.1 ping它。
flarn2006

0

通过打开良好的旧dos窗口(搜索“cmd”)并键入以下3个单独的行来修复类似的错误:

ipconfig/release  
ipconfig/renew
exit

这将有助于解释这两个命令如何解决问题。
David Richerby

0

我有一个非常相似的设置(OpenWrt,几个子网)。同样的问题。当我关闭防火墙时,我不再收到任何消息,并且100%丢包。 我似乎能够使用到目前为止我尝试的所有TCP服务(ssh,smb),所以路由清楚地工作。我还尝试从不通过这个路由器的不同子网中ping目标主机,并且在接收回应应答时没有任何问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.