网络架构大概如图所示 ;
现在需要20段 , 通过 openwrt 访问 30 段 ;
我通过配置了防火墙转发 , 192.168.20.10 和 openwrt 能 ping 通192.168.30.100 和 192.168.30.150
但是无法 ping 通 192.168.30.0/24 上其他机器
接口配置
防火墙配置
帮忙分析一下问题在哪里,应该如何修改配置,不胜感激!
网络架构大概如图所示 ;
现在需要20段 , 通过 openwrt 访问 30 段 ;
我通过配置了防火墙转发 , 192.168.20.10 和 openwrt 能 ping 通192.168.30.100 和 192.168.30.150
但是无法 ping 通 192.168.30.0/24 上其他机器
接口配置
防火墙配置
帮忙分析一下问题在哪里,应该如何修改配置,不胜感激!
引自免费微信小程序:皆我百晓生
根据您提供的信息,看起来您的OpenWRT设备已经成功地将来自192.168.20.0/24网络的数据包转发到了192.168.30.0/24网络,并且可以ping通特定的目标主机(如192.168.30.100和192.168.30.150)。然而,当尝试ping其他192.168.30.0/24网络内的主机时,遇到了ICMP重定向的问题。
问题可能在于您的路由设置或者是防火墙规则。首先,检查您的OpenWRT设备上的路由表,确保从192.168.20.0/24到192.168.30.0/24的流量被正确路由。然后,确认您的防火墙规则允许所有必要的通信。
以下是针对您的情况的一些建议:
检查路由设置: 在OpenWRT的命令行界面,运行以下命令查看路由表:
ip route show
确保存在到达192.168.30.0/24网络的路由,并且下一跳是正确的接口(可能是eth0
或lan
)。
调整防火墙规则: 根据您的需求,可能需要调整防火墙规则以允许所有的ICMP和TCP流量。您可以使用以下命令打开所有入站和出站的ICMP和TCP流量:
uci set firewall.@forward[1].inbound='all'
uci set firewall.@forward[1].outbound='all'
uci set firewall.@forward[1].forward='all'
uci set firewall.@forward[1].masquerade='yes'
uci commit firewall
reload firewall
如果您只想要开放特定的服务(例如HTTP、HTTPS等),那么可以替换'all'
为相应的服务端口号,比如对于HTTP和HTTPS:
uci set firewall.@forward[1].inbound='tcp,port=80,udp,port=53,tcp,port=443'
uci set firewall.@forward[1].outbound='tcp,port=80,udp,port=53,tcp,port=443'
清理旧的防火墙规则: 如果之前有误设的规则,可能会导致问题。执行以下命令清理可能引起冲突的规则:
uci delete firewall.@forward[2]
uci delete firewall.@forward[3]
uci commit firewall
reload firewall
更新固件: 最后,确保您的OpenWRT固件是最新的,因为旧版本可能存在已知的bug或安全漏洞。
排查物理连接: 检查物理线路连接,确保没有接触不良的情况。
按照上述步骤操作后,再次尝试ping 192.168.30.0/24网络中的其他主机。如果仍然存在问题,请提供更新后的ping和traceroute输出结果,以便进一步诊断。