Contents

android大约是在5.x开始,修改了系统底部的缺省路由表,导致当你从adb shell进去调试ipv6的时候,找不到合适的路由,显示network unreachable。
调试过程充满各种盲猜和恶心过程…,最后确定了修正方案:

1
2
ip -6 rule add pref 31999 from all lookup main
ip -6 route add default dev somedevice table main

现在可以正常的ping6 ipv6地址了。
造成这个现象的根本原因在于,当你调用android本地ping6命令的时候,内部实现上设置了mark值,这个步骤被深深的隐藏在其中,折磨你的耐心。

Contents