------ ------ ------ ------ ------
| 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