我目前在 QNX 中面临挑战,我有 2 个网络接口 - 即。一个来自 PCIe 以太网扩展卡 (wm0) 的网络端口,另一个来自普通以太网端口 (en0)。我已为两个接口分配了静态 IP,具有不同的子网。为了检查两个接口之间的吞吐速度和性能,我通过环回连接进行连接,这是当前的要求。我基本上想检查接口之间的“ping”情况。
但是,当我 ping 一个 IP 时,即使两个网络接口物理上断开连接,它也会收到 ICMP 响应(这是正常情况)。因此,我检查两个接口之间的网络连接的想法将因此失败,因为即使断开连接它也会给出 ping 响应。
在 QNX 中,不存在来自特定网络接口的 ping 功能,即“ping -I {接口} IP“不可用,我尝试使用数据包过滤,但无法配置,因为它是嵌入式板,具有许多有限的实用程序。
我的要求是:
如果 en0 被禁用接收,wm0 被禁用发送,现在我将 ping 到分配给 wm0 的 IP,它应该可以工作。反之亦然的情况要确认。
任何替代方法或想法来完成上述要求会有很大帮助吗?
答案1
您从断开连接的 iface 获得响应,因为内部路由解析目的地,甚至不尝试发送数据包,它只是在内部传递它。
让我们假设您的配置是:
en0 192.168.0.10/24
wn0 10.0.0.10/24
您应该指定一些额外的路由:
从 192.168.0.10/24 通过 en0
从 10.0.0.10/24 通过 wn0
此类规则明确指定将数据包发送到 iface 而不是内部路由到目的地
BTW,我不确定,但可能您还需要禁用盒子上的转发。