------         ------         ------        ------        ------

        | N1 |        | N2 |        | N3 |        | N4 |        | N5 |

        ------         ------         ------        ------        ------

          |              |               |             |               |

          |              |               |             |               |

        --------------------------------------------------------------

        |                        network emulator                      |

        --------------------------------------------------------------


VirtualBox中运行5个虚拟机:android-x86_64-6.0-rc1-[1-5].vdi, 通过网络模拟器 构成的 拓扑 如上图。

5个节点都运行quagga路由软件。


实验一:

在文件/system/etc/init.sh最后 添加 命令:stop netd

这样,运行android虚拟机,进入命令行(不会进入GUI)。

5个节点中的路由表都能够 正确生成,并且 N1 可以 ping 通 N5.


然后 执行命令:start netd, 进入了GUI。

5个节点中的路由表都 还 能够 正确生成,但是 N1 不可以 ping 通 N5。直接相连的节点可以相互ping通。好像 ip forward 功能失效。



实验二:

正常启动android虚拟机,进入GUI。

切换到命令行,路由表都 还 能够 正确生成,但是 N1 不可以 ping 通 N5。直接相连的节点可以相互ping通。好像 ip forward 功能失效。


类似的问题有人遇到过(我使用的是android-x86_64-6.0):

​https://github.com/cSploit/android/issues/624​

​http://stackoverflow.com/questions/11109215/ip-forward-with-android-4-0-dont-work​

​http://grokbase.com/t/gg/android-x86/123xvnphgp/ip-forwarding​