我有一个Linux Fedora -16机器有两个接口 –
em1 Link encap:Ethernet HWaddr B8:CA:3A:89:EE:F1 inet addr:136.170.195.17 Bcast:136.170.195.255 Mask:255.255.252.0 inet6 addr: fec0::f:baca:3aff:fe89:eef1/64 Scope:Site inet6 addr: 2002:88aa:c268:f:baca:3aff:fe89:eef1/64 Scope:Global inet6 addr: fe80::baca:3aff:fe89:eef1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6363373 errors:0 dropped:2 overruns:0 frame:0 TX packets:1571017 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4502189587 (4.1 GiB) TX bytes:175801460 (167.6 MiB) Interrupt:20 Memory:f7f00000-f7f20000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:765 errors:0 dropped:0 overruns:0 frame:0 TX packets:765 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:85089 (83.0 KiB) TX bytes:85089 (83.0 KiB) p3p1 Link encap:Ethernet HWaddr 14:D6:4D:1F:F3:F8 inet addr:10.240.100.110 Bcast:10.240.100.255 Mask:255.255.255.0 inet6 addr: fe80::16d6:4dff:fe1f:f3f8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2615351 errors:0 dropped:0 overruns:0 frame:0 TX packets:2868133 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1081785835 (1.0 GiB) TX bytes:1577912608 (1.4 GiB)
在接口p3p1上,我正在运行一个DHCP服务器。 我的embedded式设备运行在NFS上,从p3p1获取IP地址。 p3p1接口连接到我的embedded式设备 – 点对点。
现在,从embedded式的盒子(基于Linux的系统),我想ping /访问地址 – 136.170.195.17。
我不能执行以下操作,因为gw不知道如何路由136.170.0.0子网的数据包。 所以,我得到一个错误 –
# ping 136.170.195.17 PING 136.170.195.17 (136.170.195.17): 56 data bytes ping: sendto: Network is unreachable
由于通信在不同的networking上,我需要在设备中添加路由。 所以,我所做的是在我的linux机器上启用了数据包转发。 接下来,我添加这样的路线。
# /sbin/route add net 136.170.192.0 netmask 255.255.252.0 gw 10.240.100.110 route: resolving net
我收到上述错误。 我认为我对networking的理解并不正确。 是什么原因,我得到以下错误? 其实,我对上述错误感到困惑。 在我看来,我的概念没有什么错误,例如:启用数据包转发和添加指向不同子网的数据包的路由。 因为对于同一个子网,路由不会出现在图片中 – 它只是基于ARP。 我该如何解决这个问题? 我的理解有什么问题吗?
这里是框路由表 –
# netstat -anr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.240.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
这是我的PC路由表 –
$ netstat -arn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 136.170.192.2 0.0.0.0 UG 0 0 0 em1 10.240.100.0 0.0.0.0 255.255.255.0 U 0 0 0 p3p1 136.170.192.0 0.0.0.0 255.255.252.0 U 0 0 0 em1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 p3p1
/ sbin / route add net 136.170.192.0 netmask 255.255.252.0 gw 10.240.100.110
试试route add -net ... 当您的embedded式设备尝试将networking名称parsing为地址或networking范围时,我怀疑是出现错误消息。