QNX中的路由表

网络工程 路由
2021-07-17 13:10:26

我有一个在 QNX 6.2.1 上运行的嵌入式系统。(我将其称为 QNX 盒。)QNX 盒有两个网络适配器。我已经配置了驱动程序,所以它们显示为 en0 和 en1。以下是他们的 IP 设置:

en0: IP address 10.0.0.2, subnetmask 255.255.240.0 
en1: IP address 10.1.0.3, subnetmask 255.255.240.0

en0 和 en1 分别连接到 IP 地址为 10.0.0.1 和 10.1.0.4 的不同 PC。我可以从连接的 PC ping en0 和 en1。没问题。

现在我想从另一台 PC ping 一台 PC,所以流量必须通过 QNX 盒子。QNX 盒子必须有一个路由表。

谁能建议我应该怎么做?

我试过了

route add 10.0.0.1 -interface 10.0.0.2
route add 10.1.0.4 -interface 10.1.0.4 

......似乎不起作用。

有什么建议吗?

提前致谢。

我已经添加

sysctl -w net.inet.ip.forwarding=1

输出是

net.inet.ip.forwarding: 0 -> 1

对于输出netstat -rIS

Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use    Mtu  Interface
default            link#2             UCS         0        0   1500  en0
10/20              link#2             UC          1        0   1500  en0
10.0.0.1           00:17:3f:cf:03:95  UHL         7      130   1500  en0
10.1/20            link#3             UC          1        0   1500  en1
10.1.0.4           2c:27:d7:26:fd:91  UHL         0        4   1500  en1
127.0.0.1          127.0.0.1          UH          0        0  33212  lo0
1个回答

根据您需要明确启用 IP 转发的文档

net.inet.ip.forwarding
禁用 (0) 或启用 (1) IP 转发。如果启用此功能,主机将充当路由器。

那将是'sysctl -w net.inet.ip.forwarding=1'

我没有要测试的 QNX,但我认为您不需要添加任何路由,因为连接的接口已经有网络,即路由已经存在。

但是用'netstat -r'确认